#define GPIO_NUM 25
struct _peripheral {
- peripheral_i2c_context_h i2c_dev;
- peripheral_gpio_context_h gpio_dev;
+ peripheral_i2c_h i2c;
+ peripheral_gpio_h gpio;
};
typedef struct _peripheral peripheral_s;
static void _control_led(peripheral_s *info, int power_on)
{
dlog_print(DLOG_INFO, LOG_TAG, "Write [%d] into GPIO...", power_on);
- peripheral_gpio_write(info->gpio_dev, power_on);
+ peripheral_gpio_write(info->gpio, power_on);
}
static gboolean _check_and_turn_on_light(gpointer user_data)
dlog_print(DLOG_INFO, LOG_TAG, "Check the sensor...");
buf[0] = GY30_CONT_HIGH_RES_MODE;
- if (peripheral_i2c_write(info->i2c_dev, buf, 1) != 0) {
+ if (peripheral_i2c_write(info->i2c, buf, 1) != 0) {
dlog_print(DLOG_INFO, LOG_TAG, "Cannot write into the buffer.");
return FALSE;
}
- peripheral_i2c_read(info->i2c_dev, buf, 2);
+ peripheral_i2c_read(info->i2c, buf, 2);
result = GY30_READ_INTENSITY(buf);
dlog_print(DLOG_INFO, LOG_TAG, "The result is [%d].", result);
service_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, service_app_lang_changed, &ad);
service_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, service_app_region_changed, &ad);
- info.i2c_dev = peripheral_i2c_init(I2C_BUS);
- if (!info.i2c_dev) {
+ ret = peripheral_i2c_open(I2C_BUS, GY30_ADDR, &info.i2c);
+ if (ret) {
dlog_print(DLOG_INFO, LOG_TAG, "Cannot initialize the peripheral i2c.");
return 1;
}
- if (peripheral_i2c_set_address(info.i2c_dev, GY30_ADDR) != 0) {
- dlog_print(DLOG_INFO, LOG_TAG, "Cannot set the address.");
- return 1;
- }
-
- info.gpio_dev = peripheral_gpio_open(GPIO_NUM);
- if (!info.gpio_dev) {
+ peripheral_gpio_open(GPIO_NUM, &info.gpio);
+ if (!info.gpio) {
dlog_print(DLOG_INFO, LOG_TAG, "The return value of peripheral_gpio_open is null.");
return 1;
}
- ret = peripheral_gpio_set_direction(info.gpio_dev, PERIPHERAL_GPIO_DIRECTION_OUT);
+ ret = peripheral_gpio_set_direction(info.gpio, PERIPHERAL_GPIO_DIRECTION_OUT);
if (ret != 0) {
dlog_print(DLOG_INFO, LOG_TAG, "Cannot set direction error.");
return 1;
ret = service_app_main(argc, argv, &event_callback, ad);
g_source_remove(timer_id);
- peripheral_i2c_stop(info.i2c_dev);
- peripheral_gpio_close(info.gpio_dev);
+ peripheral_i2c_close(info.i2c);
+ peripheral_gpio_close(info.gpio);
return ret;
}