error: invalid conversion from 'void (*)(CanSignal*, CanSignal*, int, double, bool*)' to 'SignalEncoder {aka long long unsigned int (*)(CanSignal*, _openxc_DynamicField*, bool*)}' [-fpermissive]
};
^
I seem to be passing all the right arguments to sendEncodedSignal but I can't trace back (in canwrite.cpp and canutil.cpp) where SignalEncoder is being called from. I thought that I was essentially doing the encoding myself by passing the 64-bit int "can_value". Any insights would be appreciated.
Thanks,
Kyle
signals.cpp: In function 'uint64_t ourRPMWriteEncoder(CanSignal*, CanSignal*, int, double, bool*)':
signals.cpp:42:4: error: return-statement with no value, in function returning 'uint64_t {aka long long unsigned int}' [-fpermissive]
return;
^
signals.cpp: At global scope:
signals.cpp:104:1: error: invalid conversion from 'uint64_t (*)(CanSignal*, CanSignal*, int, double, bool*) {aka long long unsigned int (*)(CanSignal*, CanSignal*, int, double, bool*)}' to 'SignalEncoder {aka long long unsigned int (*)(CanSignal*, _openxc_DynamicField*, bool*)}' [-fpermissive]
};
^
signals.cpp:106:1: error: invalid conversion from 'uint64_t (*)(CanSignal*, CanSignal*, int, double, bool*) {aka long long unsigned int (*)(CanSignal*, CanSignal*, int, double, bool*)}' to 'SignalEncoder {aka long long unsigned int (*)(CanSignal*, _openxc_DynamicField*, bool*)}' [-fpermissive]
};
^
Here are lines 100-106 from signals.cpp:
const int MAX_SIGNAL_COUNT = 2;
CanSignal SIGNALS[][MAX_SIGNAL_COUNT] = {
{ // message set: generic
{message: &CAN_MESSAGES[0][0], genericName: "my_signal", bitPosition: 0, bitSize: 64, factor: 1.000000, offset: 0.000000, minValue: 0.000000, maxValue: 0.000000, frequencyClock: {0.000000}, sendSame: true, forceSendChanged: false, states: NULL, stateCount: 0, writable: true, decoder: NULL, encoder: ourWriteEncoder}, // My_SIGNAL
{message: &CAN_MESSAGES[0][1], genericName: "left_blinker", bitPosition: 0, bitSize: 8, factor: 1.000000, offset: 0.000000, minValue: 0.000000, maxValue: 0.000000, frequencyClock: {0.000000}, sendSame: true, forceSendChanged: false, states: NULL, stateCount: 0, writable: true, decoder: NULL, encoder: NULL}, // My_Blinker
},
};
And then lines 107-113:
void openxc::signals::initialize(openxc::diagnostics::DiagnosticsManager* diagnosticsManager) {
switch(getConfiguration()->messageSetIndex) {
case 0: // message set: generic
break;
}
}
Thanks for all of your help. Let me know if you come up with anything.
Kyle