const char* stateHandler(CanSignal* signal, CanSignal* signals, int signalCount, float value, bool* send) { CanSignalState* signalState = lookupSignalState(value, signal, signals, signalCount); if(signalState != NULL) { return signalState->name; } debug("No signal state found for value %d", value); *send = false; return NULL; }
uint64_t stateWriter(CanSignal* signal, CanSignal* signals, int signalCount, const char* value, bool* send, uint64_t data) { if(value == NULL) { debug("Can't write state of NULL -- not sending\r\n"); } else { CanSignalState* signalState = lookupSignalState(value, signal, signals, signalCount); if(signalState != NULL) { checkWritePermission(signal, send); return encodeCanSignal(signal, signalState->value, data); } else { debug("Couldn't find a valid signal state for \"%s\"", value); } } *send = false; return 0; }