void ui_usb_sof_event(void) { static uint16_t counter_sof = 0; uint8_t i = 0; if (ui_enum_status == UHC_ENUM_SUCCESS) { if (++counter_sof > 2000) { counter_sof = 0; } if (read_complete_flag != AOA_READ_ONGOING) { if (read_complete_flag == AOA_READ_SUCCESS) { ui_usb_message_reception(); } read_complete_flag = AOA_READ_ONGOING; uhi_aoa_read(ui_msg, sizeof(ui_msg), read_complete); } /* Buttons */ for (i = 0; i < 5; i++) { if (button_changed(i)) { ui_button_state[i] = !ui_button_state[i]; ui_msg[0] = MESSAGE_ATD_SIMPLE_SWITCH; ui_msg[1] = i; ui_msg[2] = ui_button_state[i]; uhi_aoa_write(ui_msg, 3, NULL); ui_button_state_toggle[i] = 0; } } } }
void ui_adc_read(void) { #if defined(EXAMPLE_ADC_TEMPERATURE_CHANNEL) static signed short adc_value_temp = -1; #endif #if defined(EXAMPLE_ADC_LIGHT_CHANNEL) static uint16_t adc_value_light = -1; #endif #if defined(EXAMPLE_ADC_POTENTIOMETER_CHANNEL) static signed short adc_value_pot = -1; #endif /* launch conversion on all enabled channels */ adc_start(&AVR32_ADC); #if defined(EXAMPLE_ADC_TEMPERATURE_CHANNEL) /* get value for the temperature adc channel */ adc_value_temp = adc_get_value(&AVR32_ADC, EXAMPLE_ADC_TEMPERATURE_CHANNEL); #endif #if defined(EXAMPLE_ADC_LIGHT_CHANNEL) /*get value for the light adc channel */ adc_value_light = adc_get_value(&AVR32_ADC, EXAMPLE_ADC_LIGHT_CHANNEL); ui_msg[0] = MESSAGE_ATD_SENSOR_LIGHT; ui_msg[1] = adc_value_light >> 8; ui_msg[2] = adc_value_light & 0xFF; uhi_aoa_write(ui_msg, 3, NULL); #endif #if defined(EXAMPLE_ADC_POTENTIOMETER_CHANNEL) /* get value for the potentiometer adc channel */ adc_value_pot = adc_get_value(&AVR32_ADC, EXAMPLE_ADC_POTENTIOMETER_CHANNEL); #endif }
void ui_usb_sof_event(void) { static uint16_t counter_sof = 0; if (ui_enum_status == UHC_ENUM_SUCCESS) { /* Display device enumerated and in active mode */ if (++counter_sof > 2000) { counter_sof = 0; } if (counter_sof % 1000 == 0) { ui_adc_read(); } if (read_complete_flag != AOA_READ_ONGOING) { if (read_complete_flag == AOA_READ_SUCCESS) { ui_usb_message_reception(); } read_complete_flag = AOA_READ_ONGOING; uhi_aoa_read(ui_msg, sizeof(ui_msg), read_complete); } /* Buttons */ if (ui_button_state_changed) { ui_button_state[ui_button_state_changed - 1] = !ui_button_state[ui_button_state_changed - 1]; ui_msg[0] = MESSAGE_ATD_SIMPLE_SWITCH; ui_msg[1] = ui_button_state_changed - 1; ui_msg[2] = ui_button_state[ui_button_state_changed - 1]; uhi_aoa_write(ui_msg, 3, NULL); ui_button_state_changed = 0x00; } } }