1d4afb5ceSopenharmony_ci#include "i2c.h" 2d4afb5ceSopenharmony_ci 3d4afb5ceSopenharmony_ciint 4d4afb5ceSopenharmony_cilws_i2c_command(lws_i2c_ops_t *ctx, uint8_t ads, uint8_t c) 5d4afb5ceSopenharmony_ci{ 6d4afb5ceSopenharmony_ci if (ctx->start(ctx)) 7d4afb5ceSopenharmony_ci return 1; 8d4afb5ceSopenharmony_ci 9d4afb5ceSopenharmony_ci if (ctx->write(ctx, ads << 1)) { 10d4afb5ceSopenharmony_ci ctx->stop(ctx); 11d4afb5ceSopenharmony_ci 12d4afb5ceSopenharmony_ci return 1; 13d4afb5ceSopenharmony_ci } 14d4afb5ceSopenharmony_ci 15d4afb5ceSopenharmony_ci ctx->write(ctx, 0); 16d4afb5ceSopenharmony_ci ctx->write(ctx, c); 17d4afb5ceSopenharmony_ci ctx->stop(ctx); 18d4afb5ceSopenharmony_ci 19d4afb5ceSopenharmony_ci return 0; 20d4afb5ceSopenharmony_ci} 21d4afb5ceSopenharmony_ci 22d4afb5ceSopenharmony_ciint 23d4afb5ceSopenharmony_cilws_i2c_command_list(lws_i2c_ops_t *ctx, uint8_t ads, const uint8_t *buf, size_t len) 24d4afb5ceSopenharmony_ci{ 25d4afb5ceSopenharmony_ci while (len--) 26d4afb5ceSopenharmony_ci if (lws_i2c_command(ctx, ads, *buf++)) 27d4afb5ceSopenharmony_ci return 1; 28d4afb5ceSopenharmony_ci 29d4afb5ceSopenharmony_ci return 0; 30d4afb5ceSopenharmony_ci} 31d4afb5ceSopenharmony_ci 32d4afb5ceSopenharmony_ci 33