mirror of https://github.com/FOME-Tech/fome-fw.git
auto-sync
This commit is contained in:
parent
f9ffa8958e
commit
3d41231f86
|
@ -319,7 +319,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat
|
||||||
boardConfiguration->canRxPin = GPIOB_12;
|
boardConfiguration->canRxPin = GPIOB_12;
|
||||||
engineConfiguration->canWriteEnabled = true;
|
engineConfiguration->canWriteEnabled = true;
|
||||||
engineConfiguration->canReadEnabled = false;
|
engineConfiguration->canReadEnabled = false;
|
||||||
engineConfiguration->can_nbc_type = CAN_BUS_NBC_BMW;
|
engineConfiguration->canNbcType = CAN_BUS_NBC_BMW;
|
||||||
// engineConfiguration->can_nbc_type = CAN_BUS_MAZDA_RX8;
|
// engineConfiguration->can_nbc_type = CAN_BUS_MAZDA_RX8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -267,8 +267,8 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_
|
||||||
engineConfiguration->tpsErrorLowValue = convertVoltageTo10bitADC(0.2);
|
engineConfiguration->tpsErrorLowValue = convertVoltageTo10bitADC(0.2);
|
||||||
engineConfiguration->tpsErrorHighValue = convertVoltageTo10bitADC(6);
|
engineConfiguration->tpsErrorHighValue = convertVoltageTo10bitADC(6);
|
||||||
|
|
||||||
engineConfiguration->can_nbc_type = CAN_BUS_NBC_BMW;
|
engineConfiguration->canNbcType = CAN_BUS_NBC_BMW;
|
||||||
engineConfiguration->can_sleep_period = 50;
|
engineConfiguration->canSleepPeriod = 50;
|
||||||
engineConfiguration->canReadEnabled = TRUE;
|
engineConfiguration->canReadEnabled = TRUE;
|
||||||
engineConfiguration->canWriteEnabled = false;
|
engineConfiguration->canWriteEnabled = false;
|
||||||
|
|
||||||
|
|
|
@ -400,8 +400,9 @@ typedef struct {
|
||||||
int canReadEnabled;
|
int canReadEnabled;
|
||||||
int canWriteEnabled;
|
int canWriteEnabled;
|
||||||
// offset 968
|
// offset 968
|
||||||
can_nbc_e can_nbc_type;
|
can_nbc_e canNbcType;
|
||||||
int can_sleep_period;
|
// offset 972
|
||||||
|
int canSleepPeriod;
|
||||||
|
|
||||||
int cylindersCount;
|
int cylindersCount;
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ static void commonTxInit(int eid) {
|
||||||
static void sendMessage2(int size) {
|
static void sendMessage2(int size) {
|
||||||
txmsg.DLC = size;
|
txmsg.DLC = size;
|
||||||
msg_t result = canTransmit(&EFI_CAN_DEVICE, CAN_ANY_MAILBOX, &txmsg, TIME_INFINITE);
|
msg_t result = canTransmit(&EFI_CAN_DEVICE, CAN_ANY_MAILBOX, &txmsg, TIME_INFINITE);
|
||||||
if(result==RDY_OK) {
|
if (result == RDY_OK) {
|
||||||
can_write_ok++;
|
can_write_ok++;
|
||||||
} else {
|
} else {
|
||||||
can_write_not_ok++;
|
can_write_not_ok++;
|
||||||
|
@ -120,30 +120,28 @@ static void canMazdaRX8(void) {
|
||||||
commonTxInit(0x300);
|
commonTxInit(0x300);
|
||||||
sendMessage2(0);
|
sendMessage2(0);
|
||||||
|
|
||||||
|
|
||||||
commonTxInit(CAN_MAZDA_RX_RPM_SPEED);
|
commonTxInit(CAN_MAZDA_RX_RPM_SPEED);
|
||||||
|
|
||||||
setShortValue(&txmsg, engine_rpm * 4, 1);
|
setShortValue(&txmsg, engine_rpm * 4, 1);
|
||||||
setShortValue(&txmsg, 0xFFFF, 3);
|
setShortValue(&txmsg, 0xFFFF, 3);
|
||||||
setShortValue(&txmsg, 123+10000, 5);
|
setShortValue(&txmsg, 123 + 10000, 5);
|
||||||
setShortValue(&txmsg, 0, 7);
|
setShortValue(&txmsg, 0, 7);
|
||||||
sendMessage();
|
sendMessage();
|
||||||
|
|
||||||
commonTxInit(CAN_MAZDA_RX_STATUS_1);
|
commonTxInit(CAN_MAZDA_RX_STATUS_1);
|
||||||
setShortValue(&txmsg, engine_rpm * 4, 1);
|
setShortValue(&txmsg, engine_rpm * 4, 1);
|
||||||
setShortValue(&txmsg, 0xFFFF, 3);
|
setShortValue(&txmsg, 0xFFFF, 3);
|
||||||
setShortValue(&txmsg, 123+10000, 5);
|
setShortValue(&txmsg, 123 + 10000, 5);
|
||||||
setShortValue(&txmsg, 0, 7);
|
setShortValue(&txmsg, 0, 7);
|
||||||
sendMessage2(7);
|
sendMessage2(7);
|
||||||
|
|
||||||
commonTxInit(CAN_MAZDA_RX_STATUS_1);
|
commonTxInit(CAN_MAZDA_RX_STATUS_1);
|
||||||
setShortValue(&txmsg, engine_rpm * 4, 1);
|
setShortValue(&txmsg, engine_rpm * 4, 1);
|
||||||
setShortValue(&txmsg, 0xFFFF, 3);
|
setShortValue(&txmsg, 0xFFFF, 3);
|
||||||
setShortValue(&txmsg, 123+10000, 5);
|
setShortValue(&txmsg, 123 + 10000, 5);
|
||||||
setShortValue(&txmsg, 0, 7);
|
setShortValue(&txmsg, 0, 7);
|
||||||
sendMessage2(7);
|
sendMessage2(7);
|
||||||
|
|
||||||
|
|
||||||
// my_data[0] = (RPM * 4) / 256; // rpm
|
// my_data[0] = (RPM * 4) / 256; // rpm
|
||||||
// my_data[1] = (RPM * 4) % 256; // rpm
|
// my_data[1] = (RPM * 4) % 256; // rpm
|
||||||
// my_data[2] = 0xFF; // Unknown, 0xFF from 'live'.
|
// my_data[2] = 0xFF; // Unknown, 0xFF from 'live'.
|
||||||
|
@ -203,9 +201,9 @@ static void canRead(void) {
|
||||||
|
|
||||||
static void writeStateToCan(void) {
|
static void writeStateToCan(void) {
|
||||||
engine_rpm = getRpm();
|
engine_rpm = getRpm();
|
||||||
engine_clt = 123;//getCoolantTemperature(engine);
|
engine_clt = 123; //getCoolantTemperature(engine);
|
||||||
|
|
||||||
canInfoNBCBroadcast(engineConfiguration->can_nbc_type);
|
canInfoNBCBroadcast(engineConfiguration->canNbcType);
|
||||||
}
|
}
|
||||||
|
|
||||||
static msg_t canThread(void *arg) {
|
static msg_t canThread(void *arg) {
|
||||||
|
@ -217,7 +215,12 @@ static msg_t canThread(void *arg) {
|
||||||
if (engineConfiguration->canReadEnabled)
|
if (engineConfiguration->canReadEnabled)
|
||||||
canRead(); // todo: since this is a blocking operation, do we need a separate thread for 'write'?
|
canRead(); // todo: since this is a blocking operation, do we need a separate thread for 'write'?
|
||||||
|
|
||||||
chThdSleepMilliseconds(engineConfiguration->can_sleep_period);
|
if (engineConfiguration->canSleepPeriod < 10) {
|
||||||
|
warning(OBD_PCM_Processor_Fault, "%d too low CAN", engineConfiguration->canSleepPeriod);
|
||||||
|
engineConfiguration->canSleepPeriod = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
chThdSleepMilliseconds(engineConfiguration->canSleepPeriod);
|
||||||
}
|
}
|
||||||
#if defined __GNUC__
|
#if defined __GNUC__
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -227,13 +230,11 @@ static msg_t canThread(void *arg) {
|
||||||
static void canInfo(void) {
|
static void canInfo(void) {
|
||||||
scheduleMsg(&logger, "CAN TX %s", hwPortname(boardConfiguration->canTxPin));
|
scheduleMsg(&logger, "CAN TX %s", hwPortname(boardConfiguration->canTxPin));
|
||||||
scheduleMsg(&logger, "CAN RX %s", hwPortname(boardConfiguration->canRxPin));
|
scheduleMsg(&logger, "CAN RX %s", hwPortname(boardConfiguration->canRxPin));
|
||||||
scheduleMsg(&logger, "type=%d canReadEnabled=%s canWriteEnabled=%s",
|
scheduleMsg(&logger, "type=%d canReadEnabled=%s canWriteEnabled=%s period=%d", engineConfiguration->canNbcType,
|
||||||
engineConfiguration->can_nbc_type,
|
boolToString(engineConfiguration->canReadEnabled), boolToString(engineConfiguration->canWriteEnabled),
|
||||||
boolToString(engineConfiguration->canReadEnabled),
|
engineConfiguration->canSleepPeriod);
|
||||||
boolToString(engineConfiguration->canWriteEnabled));
|
|
||||||
|
|
||||||
scheduleMsg(&logger, "CAN rx count %d/tx ok %d/tx not ok %d", canReadCounter,
|
scheduleMsg(&logger, "CAN rx count %d/tx ok %d/tx not ok %d", canReadCounter, can_write_ok, can_write_not_ok);
|
||||||
can_write_ok, can_write_not_ok);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void initCan(void) {
|
void initCan(void) {
|
||||||
|
|
|
@ -265,5 +265,5 @@ int getRusEfiVersion(void) {
|
||||||
return 1; // this is here to make the compiler happy about the unused array
|
return 1; // this is here to make the compiler happy about the unused array
|
||||||
if (UNUSED_CCM_SIZE == 0)
|
if (UNUSED_CCM_SIZE == 0)
|
||||||
return 1; // this is here to make the compiler happy about the unused array
|
return 1; // this is here to make the compiler happy about the unused array
|
||||||
return 20141219;
|
return 20141221;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue