Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void user_delay_ms(uint32_t period) {
- os_thread_sleep(os_msec_to_ticks(period));
- }
- int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) {
- int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */
- mdev_t *i2c_dev = i2c_drv_open(I2C1_PORT, dev_id);
- uint8_t write_data[1];
- write_data[0] = reg_addr;
- /*wmprintf("user_i2c_read\r\n");
- wmprintf("Writing reg_addr: %d\r\n", reg_addr);
- wmprintf("write_data[0]: %d\r\n", write_data[0]);*/
- int write_len = i2c_drv_write(i2c_dev, write_data, 1);
- if (write_len != 1) {
- wmprintf("error BME680 write_len is %d\r\n", write_len);
- i2c_drv_close(i2c_dev);
- return WM_FAIL;
- }
- int read_len = i2c_drv_read(i2c_dev, reg_data, len);
- if (read_len != len) {
- wmprintf("error BME680 read_len is %d\r\n", read_len);
- i2c_drv_close(i2c_dev);
- return WM_FAIL;
- }
- /*wmprintf("Reading reg_data: ");
- int s;
- for(s=0; s<len;s++){
- wmprintf("%02X ", reg_data[s]);
- }
- wmprintf("\r\n");*/
- i2c_drv_close(i2c_dev);
- return rslt;
- }
- int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) {
- int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */
- mdev_t *i2c_dev = i2c_drv_open(I2C1_PORT, dev_id);
- uint8_t write_data[len + 1];
- write_data[0] = reg_addr;
- memcpy(&write_data[1], reg_data, len);
- /*wmprintf("user_i2c_write\r\n");
- wmprintf("Writing reg_addr: %d\r\n", reg_addr);
- wmprintf("Writing reg_data: ");
- int k;
- for (k=0; k<len; k++){
- wmprintf("%d ", reg_data[k]);
- }
- wmprintf("\r\n");
- wmprintf("total buffer\r\n");
- for (k=0; k<len+1; k++){
- wmprintf("%d ", write_data[k]);
- }
- wmprintf("\r\n");*/
- int write_len = i2c_drv_write(i2c_dev, write_data, len);
- if (write_len != len) {
- //wmprintf("error ENS210_REG_SYS_CTRL write_len is %d\r\n", write_len);
- return -WM_FAIL;
- }
- i2c_drv_close(i2c_dev);
- return rslt;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement