static void iotjs_adc_close_worker(uv_work_t* work_req) { ADC_WORKER_INIT; // Release driver if (!iotjs_adc_close(adc)) { req_data->result = false; return; } req_data->result = true; }
static void adc_worker(uv_work_t* work_req) { iotjs_periph_data_t* worker_data = (iotjs_periph_data_t*)IOTJS_UV_REQUEST_EXTRA_DATA(work_req); iotjs_adc_t* adc = (iotjs_adc_t*)worker_data->data; switch (worker_data->op) { case kAdcOpOpen: worker_data->result = iotjs_adc_open(adc); break; case kAdcOpRead: worker_data->result = iotjs_adc_read(adc); break; case kAdcOpClose: worker_data->result = iotjs_adc_close(adc); break; default: IOTJS_ASSERT(!"Invalid Adc Operation"); } }