Compare commits
3 Commits
b37c0a05be
...
aa3a2106aa
Author | SHA1 | Date | |
---|---|---|---|
aa3a2106aa | |||
f8a195bd4b | |||
b20481140c |
@ -1,3 +1,6 @@
|
|||||||
|
Import("env") # pylint: disable=undefined-variable
|
||||||
|
env.Execute("\"$PYTHONEXE\" -m pip install jinja2")
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
@ -58,11 +58,13 @@ const size_t GPSBaudRateString_Elements = sizeof(GPSBaudRateString) / sizeof(GPS
|
|||||||
#ifdef FEATURE_ENABLE_CAN
|
#ifdef FEATURE_ENABLE_CAN
|
||||||
typedef enum CANSource_e
|
typedef enum CANSource_e
|
||||||
{
|
{
|
||||||
KTM_890_ADV_R_2021
|
KTM_890_ADV_R_2021,
|
||||||
|
KTM_1290_SD_R_2023
|
||||||
} CANSource_t;
|
} CANSource_t;
|
||||||
|
|
||||||
const char CANSourceString[][28] = {
|
const char CANSourceString[][30] = {
|
||||||
"KTM 890 Adventure R (2021)"};
|
"KTM 890 Adventure R (2021)",
|
||||||
|
"KTM 1290 Superduke R (2023)"};
|
||||||
|
|
||||||
const size_t CANSourceString_Elements = sizeof(CANSourceString) / sizeof(CANSourceString[0]);
|
const size_t CANSourceString_Elements = sizeof(CANSourceString) / sizeof(CANSourceString[0]);
|
||||||
#endif
|
#endif
|
||||||
|
@ -14,7 +14,18 @@ void Init_CAN()
|
|||||||
|
|
||||||
CAN0.init_Mask(0, 0, 0x07FF0000); // Init first mask...
|
CAN0.init_Mask(0, 0, 0x07FF0000); // Init first mask...
|
||||||
CAN0.init_Mask(1, 0, 0x07FF0000); // Init second mask...
|
CAN0.init_Mask(1, 0, 0x07FF0000); // Init second mask...
|
||||||
|
|
||||||
|
switch (LubeConfig.CANSource)
|
||||||
|
{
|
||||||
|
case KTM_890_ADV_R_2021:
|
||||||
CAN0.init_Filt(0, 0, 0x012D0000); // Init first filter...
|
CAN0.init_Filt(0, 0, 0x012D0000); // Init first filter...
|
||||||
|
break;
|
||||||
|
case KTM_1290_SD_R_2023:
|
||||||
|
CAN0.init_Filt(0, 0, 0x012D0000); // Init first filter...
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
CAN0.setMode(MCP_NORMAL);
|
CAN0.setMode(MCP_NORMAL);
|
||||||
}
|
}
|
||||||
@ -33,19 +44,33 @@ void CAN_Process()
|
|||||||
uint32_t Process_CAN_WheelSpeed()
|
uint32_t Process_CAN_WheelSpeed()
|
||||||
{
|
{
|
||||||
#define FACTOR_RWP_KMH_890ADV 18 // Divider to convert Raw Data to km/h
|
#define FACTOR_RWP_KMH_890ADV 18 // Divider to convert Raw Data to km/h
|
||||||
|
#define FACTOR_RWP_KMH_1290SD 18 // Divider to convert Raw Data to km/h
|
||||||
can_frame canMsg;
|
can_frame canMsg;
|
||||||
static uint32_t lastRecTimestamp = 0;
|
static uint32_t lastRecTimestamp = 0;
|
||||||
uint16_t RearWheelSpeed_raw;
|
uint16_t RearWheelSpeed_raw;
|
||||||
uint32_t milimeters_to_add = 0;
|
uint32_t milimeters_to_add = 0;
|
||||||
|
uint32_t RWP_millimeter_per_second = 0;
|
||||||
|
|
||||||
if (CAN0.readMsgBuf(&canMsg.can_id, &canMsg.can_dlc, canMsg.data) == CAN_OK)
|
if (CAN0.readMsgBuf(&canMsg.can_id, &canMsg.can_dlc, canMsg.data) == CAN_OK)
|
||||||
{
|
{
|
||||||
|
|
||||||
RearWheelSpeed_raw = (uint16_t)canMsg.data[5] << 8 | canMsg.data[6];
|
switch (LubeConfig.CANSource)
|
||||||
|
{
|
||||||
|
case KTM_890_ADV_R_2021:
|
||||||
// raw / FACTOR_RWP_KMH_890ADV -> km/h * 100000 -> cm/h / 3600 -> cm/s
|
// raw / FACTOR_RWP_KMH_890ADV -> km/h * 100000 -> cm/h / 3600 -> cm/s
|
||||||
// raw * 500 -> cm/s
|
// raw * 500 -> cm/s
|
||||||
uint32_t RWP_millimeter_per_second = (((uint32_t)RearWheelSpeed_raw * 1000000) / FACTOR_RWP_KMH_890ADV) / 3600;
|
RearWheelSpeed_raw = (uint16_t)canMsg.data[5] << 8 | canMsg.data[6];
|
||||||
|
RWP_millimeter_per_second = (((uint32_t)RearWheelSpeed_raw * 1000000) / FACTOR_RWP_KMH_890ADV) / 3600;
|
||||||
|
break;
|
||||||
|
case KTM_1290_SD_R_2023:
|
||||||
|
// raw / FACTOR_RWP_KMH_1290SD -> km/h * 100000 -> cm/h / 3600 -> cm/s
|
||||||
|
// raw * 500 -> cm/s
|
||||||
|
RearWheelSpeed_raw = (uint16_t)canMsg.data[5] << 8 | canMsg.data[6];
|
||||||
|
RWP_millimeter_per_second = (((uint32_t)RearWheelSpeed_raw * 1000000) / FACTOR_RWP_KMH_1290SD) / 3600;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t timesincelast = millis() - lastRecTimestamp;
|
uint32_t timesincelast = millis() - lastRecTimestamp;
|
||||||
lastRecTimestamp = millis();
|
lastRecTimestamp = millis();
|
||||||
|
@ -82,10 +82,6 @@ void setup()
|
|||||||
Serial.print("\n\nSouko's ChainLube Mk1\n");
|
Serial.print("\n\nSouko's ChainLube Mk1\n");
|
||||||
Serial.print(globals.DeviceName);
|
Serial.print(globals.DeviceName);
|
||||||
|
|
||||||
InitEEPROM();
|
|
||||||
GetConfig_EEPROM();
|
|
||||||
GetPersistence_EEPROM();
|
|
||||||
Serial.print("\nEE-Init done");
|
|
||||||
#ifdef FEATURE_ENABLE_OLED
|
#ifdef FEATURE_ENABLE_OLED
|
||||||
u8x8.begin();
|
u8x8.begin();
|
||||||
u8x8.setFont(u8x8_font_chroma48medium8_r);
|
u8x8.setFont(u8x8_font_chroma48medium8_r);
|
||||||
@ -94,6 +90,12 @@ void setup()
|
|||||||
u8x8.refreshDisplay();
|
u8x8.refreshDisplay();
|
||||||
Serial.print("\nDisplay-Init done");
|
Serial.print("\nDisplay-Init done");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
InitEEPROM();
|
||||||
|
GetConfig_EEPROM();
|
||||||
|
GetPersistence_EEPROM();
|
||||||
|
Serial.print("\nEE-Init done");
|
||||||
|
|
||||||
leds.begin();
|
leds.begin();
|
||||||
Serial.print("\nLED-Init done");
|
Serial.print("\nLED-Init done");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user