Fix crash when AC charger is enabled but initialization fails
This commit is contained in:
parent
c86c5133f0
commit
4de043f3d4
@ -89,6 +89,7 @@ private:
|
|||||||
MCP_CAN *CAN;
|
MCP_CAN *CAN;
|
||||||
uint8_t _huawei_irq;
|
uint8_t _huawei_irq;
|
||||||
uint8_t _huawei_power;
|
uint8_t _huawei_power;
|
||||||
|
bool initialized = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern HuaweiCanClass HuaweiCan;
|
extern HuaweiCanClass HuaweiCan;
|
||||||
|
|||||||
@ -14,6 +14,8 @@ HuaweiCanClass HuaweiCan;
|
|||||||
|
|
||||||
void HuaweiCanClass::init(uint8_t huawei_miso, uint8_t huawei_mosi, uint8_t huawei_clk, uint8_t huawei_irq, uint8_t huawei_cs, uint8_t huawei_power)
|
void HuaweiCanClass::init(uint8_t huawei_miso, uint8_t huawei_mosi, uint8_t huawei_clk, uint8_t huawei_irq, uint8_t huawei_cs, uint8_t huawei_power)
|
||||||
{
|
{
|
||||||
|
initialized = false;
|
||||||
|
|
||||||
const CONFIG_T& config = Configuration.get();
|
const CONFIG_T& config = Configuration.get();
|
||||||
|
|
||||||
if (!config.Huawei_Enabled) {
|
if (!config.Huawei_Enabled) {
|
||||||
@ -29,13 +31,14 @@ void HuaweiCanClass::init(uint8_t huawei_miso, uint8_t huawei_mosi, uint8_t huaw
|
|||||||
_huawei_irq = huawei_irq;
|
_huawei_irq = huawei_irq;
|
||||||
|
|
||||||
CAN = new MCP_CAN(spi, huawei_cs);
|
CAN = new MCP_CAN(spi, huawei_cs);
|
||||||
if(CAN->begin(MCP_ANY, CAN_125KBPS, MCP_8MHZ) == CAN_OK) {
|
if (!CAN->begin(MCP_ANY, CAN_125KBPS, MCP_8MHZ) == CAN_OK) {
|
||||||
MessageOutput.println("MCP2515 Initialized Successfully!");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
MessageOutput.println("Error Initializing MCP2515...");
|
MessageOutput.println("Error Initializing MCP2515...");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MessageOutput.println("MCP2515 Initialized Successfully!");
|
||||||
|
initialized = true;
|
||||||
|
|
||||||
// Change to normal mode to allow messages to be transmitted
|
// Change to normal mode to allow messages to be transmitted
|
||||||
CAN->setMode(MCP_NORMAL);
|
CAN->setMode(MCP_NORMAL);
|
||||||
|
|
||||||
@ -154,7 +157,7 @@ void HuaweiCanClass::loop()
|
|||||||
|
|
||||||
const CONFIG_T& config = Configuration.get();
|
const CONFIG_T& config = Configuration.get();
|
||||||
|
|
||||||
if (!config.Huawei_Enabled) {
|
if (!config.Huawei_Enabled || !initialized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user