Beispiel #1
0
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;
}
Beispiel #2
0
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");
  }
}