4 #ifndef RTOS_I2C_MASTER_H_
5 #define RTOS_I2C_MASTER_H_
16 #include "rtos_osal.h"
17 #include "rtos_driver_rpc.h"
32 __attribute__((fptrgroup(
"rtos_i2c_master_write_fptr_grp")))
35 __attribute__((fptrgroup(
"rtos_i2c_master_read_fptr_grp")))
38 __attribute__((fptrgroup(
"rtos_i2c_master_stop_bit_send_fptr_grp")))
41 __attribute__((fptrgroup(
"rtos_i2c_master_reg_write_fptr_grp")))
44 __attribute__((fptrgroup(
"rtos_i2c_master_reg_read_fptr_grp")))
49 rtos_osal_mutex_t lock;
52 #include "rtos_i2c_master_rpc.h"
90 size_t *num_bytes_sent,
93 return ctx->write(ctx, device_addr, buf, n, num_bytes_sent, send_stop_bit);
120 return ctx->read(ctx, device_addr, buf, n, send_stop_bit);
137 ctx->stop_bit_send(ctx);
163 return ctx->reg_write(ctx, device_addr, reg_addr, data);
191 return ctx->reg_read(ctx, device_addr, reg_addr, data);
234 const uint32_t scl_bit_position,
235 const uint32_t scl_other_bits_mask,
237 const uint32_t sda_bit_position,
238 const uint32_t sda_other_bits_mask,
240 const unsigned kbits_per_second);
i2c_res_t
Definition: i2c.h:21
i2c_regop_res_t
Definition: i2c_reg.h:20
i2c_regop_res_t rtos_i2c_master_reg_read(rtos_i2c_master_t *ctx, uint8_t device_addr, uint8_t reg_addr, uint8_t *data)
Definition: rtos_i2c_master.h:185
void rtos_i2c_master_stop_bit_send(rtos_i2c_master_t *ctx)
Definition: rtos_i2c_master.h:134
i2c_regop_res_t rtos_i2c_master_reg_write(rtos_i2c_master_t *ctx, uint8_t device_addr, uint8_t reg_addr, uint8_t data)
Definition: rtos_i2c_master.h:157
i2c_res_t rtos_i2c_master_read(rtos_i2c_master_t *ctx, uint8_t device_addr, uint8_t buf[], size_t n, int send_stop_bit)
Definition: rtos_i2c_master.h:113
i2c_res_t rtos_i2c_master_write(rtos_i2c_master_t *ctx, uint8_t device_addr, uint8_t buf[], size_t n, size_t *num_bytes_sent, int send_stop_bit)
Definition: rtos_i2c_master.h:85
void rtos_i2c_master_init(rtos_i2c_master_t *i2c_master_ctx, const port_t p_scl, const uint32_t scl_bit_position, const uint32_t scl_other_bits_mask, const port_t p_sda, const uint32_t sda_bit_position, const uint32_t sda_other_bits_mask, hwtimer_t tmr, const unsigned kbits_per_second)
Definition: rtos_i2c_master.c:149
void rtos_i2c_master_start(rtos_i2c_master_t *i2c_master_ctx)
Definition: rtos_i2c_master.c:139
Definition: rtos_driver_rpc.h:23
Definition: rtos_i2c_master.h:29