parent
bdb0a0755d
commit
e4a4042169
|
@ -10,7 +10,10 @@
|
||||||
#define CAN_BENCH_GET_CLEAR 2
|
#define CAN_BENCH_GET_CLEAR 2
|
||||||
|
|
||||||
#define TRUNCATE_TO_BYTE(i) ((i) & 0xff)
|
#define TRUNCATE_TO_BYTE(i) ((i) & 0xff)
|
||||||
|
// raw values are 0..5V, convert it to 8-bit (0..255)
|
||||||
|
#define RAW_TO_BYTE(v) TRUNCATE_TO_BYTE((int)(v * 255.0 / 5.0))
|
||||||
|
|
||||||
|
#define RAW_ANALOG_VALUES_COUNT 8
|
||||||
|
|
||||||
#if EFI_CAN_SUPPORT
|
#if EFI_CAN_SUPPORT
|
||||||
|
|
||||||
|
@ -48,6 +51,28 @@ void sendEventCounters() {
|
||||||
#endif // EFI_SHAFT_POSITION_INPUT
|
#endif // EFI_SHAFT_POSITION_INPUT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sendRawAnalogValues() {
|
||||||
|
const float values[RAW_ANALOG_VALUES_COUNT] = {
|
||||||
|
engine->outputChannels.rawTps1Primary,
|
||||||
|
engine->outputChannels.rawTps1Secondary,
|
||||||
|
engine->outputChannels.rawPpsPrimary,
|
||||||
|
engine->outputChannels.rawPpsSecondary,
|
||||||
|
engine->outputChannels.rawMap,
|
||||||
|
engine->outputChannels.rawClt,
|
||||||
|
engine->outputChannels.rawIat,
|
||||||
|
engine->outputChannels.rawBattery,
|
||||||
|
};
|
||||||
|
|
||||||
|
// send the first packet
|
||||||
|
{
|
||||||
|
CanTxMessage msg(CanCategory::BENCH_TEST, BENCH_TEST_RAW_ANALOG, 8);
|
||||||
|
for (int valueIdx = 0; valueIdx < 8; valueIdx++) {
|
||||||
|
msg[valueIdx] = (valueIdx < RAW_ANALOG_VALUES_COUNT) ? RAW_TO_BYTE(values[valueIdx]) : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// todo: send the second packet
|
||||||
|
}
|
||||||
|
|
||||||
void processCanBenchTest(const CANRxFrame& frame) {
|
void processCanBenchTest(const CANRxFrame& frame) {
|
||||||
if (CAN_EID(frame) != CAN_ECU_HW_META) {
|
if (CAN_EID(frame) != CAN_ECU_HW_META) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
|
|
||||||
void processCanBenchTest(const CANRxFrame& frame);
|
void processCanBenchTest(const CANRxFrame& frame);
|
||||||
void sendEventCounters();
|
void sendEventCounters();
|
||||||
|
void sendRawAnalogValues();
|
||||||
|
|
|
@ -57,6 +57,7 @@ void CanWrite::PeriodicTask(efitick_t nowNt) {
|
||||||
|
|
||||||
if (cycle.isInterval(CI::_100ms)) {
|
if (cycle.isInterval(CI::_100ms)) {
|
||||||
sendEventCounters();
|
sendEventCounters();
|
||||||
|
sendRawAnalogValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if EFI_WIDEBAND_FIRMWARE_UPDATE
|
#if EFI_WIDEBAND_FIRMWARE_UPDATE
|
||||||
|
|
Loading…
Reference in New Issue