/** * Called when an ADC measurment is finished. */ static void adcCallback(AdcSample *sample) { long value = AdcSample_getValue(sample); long newDelay = MIN_DELAY + (MAX_DELAY-MIN_DELAY)*value / 0xffff; _blinkDelay = newDelay; }
void assertHasAdcEventWithSample(int channelId, uint16_t value) { EventType *adcEventType = AdcEventType_get(); Event *event = EventSource_poll(_eventSource); CHECK( event != NULL); POINTERS_EQUAL(adcEventType, Event_getEventType(event)); AdcEvent *adcEvent = AdcEvent_fromEvent(event); AdcSample *sample = AdcEvent_getSample(adcEvent); CHECK_EQUAL(channelId, AdcSample_getChannelId(sample)); CHECK_EQUAL(value, AdcSample_getValue(sample)) }