From 5bbc7bc0c3b9422626ff5a3a65bb547b992849fe Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sun, 27 Aug 2023 17:39:45 +0200 Subject: [PATCH 01/20] add EEPROM file --- 306-controller_interface.X/app/can_message.c | 1 + .../middleware/eeprom_interface.c | 8 ++ .../middleware/eeprom_interface.h | 15 ++++ .../nbproject/configurations.xml | 2 + 306-controller_interface.X/ss22ep.mc3 | 90 +++++++++---------- 5 files changed, 71 insertions(+), 45 deletions(-) create mode 100644 306-controller_interface.X/middleware/eeprom_interface.c create mode 100644 306-controller_interface.X/middleware/eeprom_interface.h diff --git a/306-controller_interface.X/app/can_message.c b/306-controller_interface.X/app/can_message.c index 468cc93..b9b7348 100644 --- a/306-controller_interface.X/app/can_message.c +++ b/306-controller_interface.X/app/can_message.c @@ -5,6 +5,7 @@ * @file can_message.c */ +#include "can_message.h" #include "../middleware/can_interface.h" #include "car.h" #include "../app/factory/factory.h" diff --git a/306-controller_interface.X/middleware/eeprom_interface.c b/306-controller_interface.X/middleware/eeprom_interface.c new file mode 100644 index 0000000..9a628f5 --- /dev/null +++ b/306-controller_interface.X/middleware/eeprom_interface.c @@ -0,0 +1,8 @@ +/** + * @author Rémi Heredero + * @version 1.0.0 + * @date August 2023 + * @file eeprom_interface.h + */ + +#include "eeprom_interface.h" diff --git a/306-controller_interface.X/middleware/eeprom_interface.h b/306-controller_interface.X/middleware/eeprom_interface.h new file mode 100644 index 0000000..0a7e728 --- /dev/null +++ b/306-controller_interface.X/middleware/eeprom_interface.h @@ -0,0 +1,15 @@ +/** + * @author Rémi Heredero + * @version 1.0.0 + * @date August 2023 + * @file eeprom_interface.h + */ +#ifndef EEPROM_INTERFACE_H +#define EEPROM_INTERFACE_H + +MEM_write_1_byte(uint8_t addresse, uint8_t data); +MEM_write_4_byte(uint32_t data); +// void MEM_write_CONTROL_STEERING_MODE(uint8_t data); + +#endif /* EEPROM_INTERFACE_H */ + diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 4b844cc..ce03b10 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -27,6 +27,7 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h + middleware/eeprom_interface.h xf/event.h @@ -63,6 +64,7 @@ middleware/can_interface.c middleware/alive_checker.c middleware/watchdog.c + middleware/eeprom_interface.c xf/event.c diff --git a/306-controller_interface.X/ss22ep.mc3 b/306-controller_interface.X/ss22ep.mc3 index 6fedf69..9fc2a6a 100644 --- a/306-controller_interface.X/ss22ep.mc3 +++ b/306-controller_interface.X/ss22ep.mc3 @@ -1,4 +1,4 @@ - + @@ -1948,7 +1948,7 @@ - {"dataArray":[{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL1","value":"false"},"id":"DMA Channels_rowCount_0"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,TMR0,ECAN,MEMORY","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_0"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_0"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_0"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"id":"Src VarName_rowCount_0"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_0","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"},"id":"Src Address_rowCount_0","Src Address":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_0"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_0"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,TMR0,ECAN,MEMORY","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_0"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_0"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_0"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"id":"Dst VarName_rowCount_0"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_0","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_0"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_0"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_0"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_0","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}},{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL2","value":"false"},"id":"DMA Channels_rowCount_1"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,TMR0,ECAN,MEMORY","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_1"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_1"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_1"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"id":"Src VarName_rowCount_1"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_1","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"},"id":"Src Address_rowCount_1","Src Address":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_1"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_1"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,TMR0,ECAN,MEMORY","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_1"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_1"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_1"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"id":"Dst VarName_rowCount_1"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_1","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_1"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_1"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_1"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_1","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}}],"type":"tableDynamicControls","key":"dmaTable"} + {"dataArray":[{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL1","value":"false"},"id":"DMA Channels_rowCount_0"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_0"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_0"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_0"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"id":"Src VarName_rowCount_0"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_0","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"},"id":"Src Address_rowCount_0","Src Address":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_0"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_0"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_0"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_0"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_0"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"id":"Dst VarName_rowCount_0"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_0","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_0"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_0"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_0"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_0","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}},{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL2","value":"false"},"id":"DMA Channels_rowCount_1"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_1"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_1"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_1"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"id":"Src VarName_rowCount_1"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_1","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"},"id":"Src Address_rowCount_1","Src Address":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_1"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_1"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_1"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_1"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_1"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"id":"Dst VarName_rowCount_1"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_1","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_1"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_1"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_1"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_1","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}}],"type":"tableDynamicControls","key":"dmaTable"} @@ -17159,7 +17159,27 @@ Window delay time 87.5% - + + + mcc_generated_files\interrupt_manager.h + 313560861c27e0a0b39b2bbb6a64ac2068fd1937dc0339d7303ff241bbb52955 + + + mcc_generated_files\mcc.h + aead6835bc73f4332d9abb5de6c2a40829de25cc98452c4c69960d51b52844e9 + + + mcc_generated_files\device_config.h + 2f04b3ff01bbe49769634d389433c7010ffb45d0f2973898e33988be7ab07d56 + + + mcc_generated_files\memory.c + ae2dbb373f8f03dd013cde153de046ba7c3c41033c1dedb8545cde41837ca3da + + + mcc_generated_files\tmr0.h + 68e2ba0f47166abd2da1a472d6a67bfde31f9be3edc8582ace93062a6a32f441 + main.c 91afd5df6694cfcd0279d66d9b5b3eb72a9c4eae825f0c0af82824e2ee66e35e @@ -17168,46 +17188,6 @@ mcc_generated_files\device_config.c 4288704a051756dce8bb92e77a82ba1285fc638cde56b3676b59406ba0fcea7b - - mcc_generated_files\device_config.h - 2f04b3ff01bbe49769634d389433c7010ffb45d0f2973898e33988be7ab07d56 - - - mcc_generated_files\ecan.c - b60a119876875a2af386474d32176b8be0f47a074a2d8688e79251a2d7cdf6fa - - - mcc_generated_files\ecan.h - 0473fedf57d1376193e049ba507abed0960af84f0e416bea25972c4dae59ca26 - - - mcc_generated_files\interrupt_manager.c - bb0eaf9aec0554de0106cff27f66e56ae02a40bbdcb68d4d58d8a0d84d8929f6 - - - mcc_generated_files\interrupt_manager.h - 313560861c27e0a0b39b2bbb6a64ac2068fd1937dc0339d7303ff241bbb52955 - - - mcc_generated_files\mcc.c - 34fadc3a271040b358215ec477acf3e135b77137f9a1cc96def75fc2936d3ad6 - - - mcc_generated_files\mcc.h - aead6835bc73f4332d9abb5de6c2a40829de25cc98452c4c69960d51b52844e9 - - - mcc_generated_files\memory.c - ae2dbb373f8f03dd013cde153de046ba7c3c41033c1dedb8545cde41837ca3da - - - mcc_generated_files\memory.h - 77a34d015c961db9ed465b4ca2d85ba910fb030ca14c3c2854428ab0b9b6fac2 - - - mcc_generated_files\pin_manager.c - f8ace8a0b0d2a4f0ed3e209db056da57858e5a670ad7d514e44352d9187be806 - mcc_generated_files\pin_manager.h 3e61569926ed5f184a2267965f2cf7ca26dc997d552c213ebd94dbd80da54891 @@ -17217,8 +17197,28 @@ f9702dc8c67433ffc3b8db9e12ee3a73fb0b152a792d26f6c7a89a3846bc4fc9 - mcc_generated_files\tmr0.h - 68e2ba0f47166abd2da1a472d6a67bfde31f9be3edc8582ace93062a6a32f441 + mcc_generated_files\pin_manager.c + f8ace8a0b0d2a4f0ed3e209db056da57858e5a670ad7d514e44352d9187be806 + + + mcc_generated_files\ecan.c + b60a119876875a2af386474d32176b8be0f47a074a2d8688e79251a2d7cdf6fa + + + mcc_generated_files\interrupt_manager.c + bb0eaf9aec0554de0106cff27f66e56ae02a40bbdcb68d4d58d8a0d84d8929f6 + + + mcc_generated_files\mcc.c + 34fadc3a271040b358215ec477acf3e135b77137f9a1cc96def75fc2936d3ad6 + + + mcc_generated_files\ecan.h + 0473fedf57d1376193e049ba507abed0960af84f0e416bea25972c4dae59ca26 + + + mcc_generated_files\memory.h + 77a34d015c961db9ed465b4ca2d85ba910fb030ca14c3c2854428ab0b9b6fac2 \ No newline at end of file From 2b31ef5c0643b493627da73325cc8a01d2b08fa0 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sun, 27 Aug 2023 21:35:19 +0200 Subject: [PATCH 02/20] implement POC for EEPROM --- 306-controller_interface.X/app/can_message.c | 5 ++++ 306-controller_interface.X/app/can_message.h | 3 ++ .../app/factory/factory.c | 17 +++++++---- .../app/factory/factory.h | 1 + .../middleware/eeprom_interface.c | 30 ++++++++++++++++++- .../middleware/eeprom_interface.h | 12 ++++++-- .../nbproject/configurations.xml | 1 + 306-controller_interface.X/ss22ep.mc3 | 4 +-- 8 files changed, 61 insertions(+), 12 deletions(-) diff --git a/306-controller_interface.X/app/can_message.c b/306-controller_interface.X/app/can_message.c index b9b7348..9030894 100644 --- a/306-controller_interface.X/app/can_message.c +++ b/306-controller_interface.X/app/can_message.c @@ -35,6 +35,11 @@ void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){ if(idMsg == 0xF) { // JOY_ALIVE ALIVE_CHECKER_ISALIVE(ACjoy()); if(ACjoy()->state == STAC_DEAD){ + CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); + CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); + CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); + CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); + ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME); ALIVE_CHECKER_emitBorn(ACjoy(), 0, 0); ALIVE_CHECKER_emitReady(ACjoy(), 100, 0); } diff --git a/306-controller_interface.X/app/can_message.h b/306-controller_interface.X/app/can_message.h index cfec699..5e39140 100644 --- a/306-controller_interface.X/app/can_message.h +++ b/306-controller_interface.X/app/can_message.h @@ -8,6 +8,9 @@ #ifndef CAN_MESSAGE_H #define CAN_MESSAGE_H +#include // usage of standard types +#include // usage of boolean types +#include "../mcc_generated_files/mcc.h" /* S R M diff --git a/306-controller_interface.X/app/factory/factory.c b/306-controller_interface.X/app/factory/factory.c index 2f62bfd..b381255 100644 --- a/306-controller_interface.X/app/factory/factory.c +++ b/306-controller_interface.X/app/factory/factory.c @@ -67,14 +67,19 @@ void Factory_init() { // TODO init watchdog with EPROM CST WATCHDOG_init(WDcontroller()); - CAR_CST.CONTROL_ALIVE_TIME = 100; + MEM_write_one_byte(MEMADD_CONTROL_ALIVE_TIME, 10); + + CAR_CST.CONTROL_ALIVE_TIME = MEM_read_one_byte(MEMADD_CONTROL_ALIVE_TIME); WATCHDOG_setTime(WDcontroller(), CAR_CST.CONTROL_ALIVE_TIME); - // TODO init ALIVE CHECKER with EPROM CST - CAR_CST.JOYSTICK_MODE = 0; - CAR_CST.JOYSTICK_PARAM1 = 100; - CAR_CST.JOYSTICK_PARAM2 = 1; - CAR_CST.JOYSTICK_ALIVE_TIME = 10; + MEM_write_one_byte(MEMADD_JOYSTICK_MODE, 0); + MEM_write_one_byte(MEMADD_JOYSTICK_PARAM1, 100); + MEM_write_one_byte(MEMADD_JOYSTICK_PARAM2, 1); + MEM_write_one_byte(MEMADD_JOYSTICK_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME); + CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); + CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); + CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); + CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); ALIVE_CHECKER_init(ACjoy()); } diff --git a/306-controller_interface.X/app/factory/factory.h b/306-controller_interface.X/app/factory/factory.h index 015a4ba..7b21e07 100644 --- a/306-controller_interface.X/app/factory/factory.h +++ b/306-controller_interface.X/app/factory/factory.h @@ -19,6 +19,7 @@ #include "../../middleware/alive_checker.h" #include "../../middleware/can_interface.h" #include "../../middleware/watchdog.h" +#include "../../middleware/eeprom_interface.h" typedef struct { diff --git a/306-controller_interface.X/middleware/eeprom_interface.c b/306-controller_interface.X/middleware/eeprom_interface.c index 9a628f5..7feb700 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.c +++ b/306-controller_interface.X/middleware/eeprom_interface.c @@ -1,8 +1,36 @@ /** - * @author Rémi Heredero + * @author R�mi Heredero * @version 1.0.0 * @date August 2023 * @file eeprom_interface.h */ #include "eeprom_interface.h" + +typedef union { + struct { + uint8_t byte0; + uint8_t byte1; + uint8_t byte2; + uint8_t byte3; + } separate; + struct { + uint32_t bytes; + } full; +} BYTES_4; + +void MEM_write_one_byte(uint8_t addresse, uint8_t data) { + DATAEE_WriteByte(addresse, data); +} + +void MEM_write_four_byte(uint8_t addresse, uint32_t data) { + +} + +uint8_t MEM_read_one_byte(uint8_t adresse) { + return DATAEE_ReadByte(adresse); +} + +uint32_t MEM_read_four_byte(uint8_t adresse) { + +} diff --git a/306-controller_interface.X/middleware/eeprom_interface.h b/306-controller_interface.X/middleware/eeprom_interface.h index 0a7e728..d0f30a2 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.h +++ b/306-controller_interface.X/middleware/eeprom_interface.h @@ -1,5 +1,5 @@ /** - * @author Rémi Heredero + * @author R�mi Heredero * @version 1.0.0 * @date August 2023 * @file eeprom_interface.h @@ -7,8 +7,14 @@ #ifndef EEPROM_INTERFACE_H #define EEPROM_INTERFACE_H -MEM_write_1_byte(uint8_t addresse, uint8_t data); -MEM_write_4_byte(uint32_t data); +#include // usage of standard types +#include // usage of boolean types +#include "../mcc_generated_files/mcc.h" + +void MEM_write_one_byte(uint8_t addresse, uint8_t data); +void MEM_write_four_byte(uint8_t adresse, uint32_t data); +uint8_t MEM_read_one_byte(uint8_t adresse); +uint32_t MEM_read_four_byte(uint8_t adresse); // void MEM_write_CONTROL_STEERING_MODE(uint8_t data); #endif /* EEPROM_INTERFACE_H */ diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index ce03b10..858a8fd 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -8,6 +8,7 @@ app/factory/factory.h app/car.h app/can_message.h + middleware/eeprom_interface.h board/led/led.h diff --git a/306-controller_interface.X/ss22ep.mc3 b/306-controller_interface.X/ss22ep.mc3 index 9fc2a6a..545a479 100644 --- a/306-controller_interface.X/ss22ep.mc3 +++ b/306-controller_interface.X/ss22ep.mc3 @@ -1,4 +1,4 @@ - + @@ -1948,7 +1948,7 @@ - {"dataArray":[{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL1","value":"false"},"id":"DMA Channels_rowCount_0"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_0"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_0"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_0"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"id":"Src VarName_rowCount_0"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_0","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"},"id":"Src Address_rowCount_0","Src Address":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_0"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_0"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_0"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_0"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_0"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"id":"Dst VarName_rowCount_0"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_0","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_0"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_0"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_0"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_0","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}},{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL2","value":"false"},"id":"DMA Channels_rowCount_1"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_1"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_1"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_1"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"id":"Src VarName_rowCount_1"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_1","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"},"id":"Src Address_rowCount_1","Src Address":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_1"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_1"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,ECAN,MEMORY,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_1"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_1"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_1"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"id":"Dst VarName_rowCount_1"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_1","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_1"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_1"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_1"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_1","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}}],"type":"tableDynamicControls","key":"dmaTable"} + {"dataArray":[{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL1","value":"false"},"id":"DMA Channels_rowCount_0"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_0"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_0"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_0"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"id":"Src VarName_rowCount_0"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_0","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"},"id":"Src Address_rowCount_0","Src Address":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_0"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_0"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_0"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_0"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_0"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"id":"Dst VarName_rowCount_0"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_0","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_0"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_0"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_0"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_0","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}},{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL2","value":"false"},"id":"DMA Channels_rowCount_1"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_1"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_1"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_1"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"id":"Src VarName_rowCount_1"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_1","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"},"id":"Src Address_rowCount_1","Src Address":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_1"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_1"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_1"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_1"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_1"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"id":"Dst VarName_rowCount_1"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_1","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_1"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_1"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_1"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_1","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}}],"type":"tableDynamicControls","key":"dmaTable"} From 4d513277b72cd201b07118d548e1e8dfc2ff753c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 09:04:52 +0200 Subject: [PATCH 03/20] fix can byte order --- 306-controller_interface.X/middleware/can_interface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/306-controller_interface.X/middleware/can_interface.c b/306-controller_interface.X/middleware/can_interface.c index 0847b1f..6c893fd 100644 --- a/306-controller_interface.X/middleware/can_interface.c +++ b/306-controller_interface.X/middleware/can_interface.c @@ -146,13 +146,13 @@ void CAN_newMsg() { CAN_receive(&canMsg); data = canMsg.frame.id; data = data<<12; - data = data | canMsg.frame.data0; - data = data<<8; - data = data | canMsg.frame.data1; + data = data | canMsg.frame.data3; data = data<<8; data = data | canMsg.frame.data2; data = data<<8; - data = data | canMsg.frame.data3; + data = data | canMsg.frame.data1; + data = data<<8; + data = data | canMsg.frame.data0; POST(&CAN_myself, &CAN_processEvent, evCAnewMsg, 0, data); } From 9bd3e9b4dae73cbeb96aa276b5bab36e52dd9090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 09:09:54 +0200 Subject: [PATCH 04/20] implment re-write momory by CAN --- 306-controller_interface.X/app/can_message.c | 61 ++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/306-controller_interface.X/app/can_message.c b/306-controller_interface.X/app/can_message.c index 9030894..d8f3fe3 100644 --- a/306-controller_interface.X/app/can_message.c +++ b/306-controller_interface.X/app/can_message.c @@ -25,6 +25,67 @@ typedef union { void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){ switch(idSender){ case 0: // Broadcast / Debug + /* + S R M + 0 1 0 CONTROL_SETUP steeringMode - - controlAliveTime + 0 1 1 CONTROL_SPEED_FACTOR valHH valH valL valLL + 0 1 2 CONTROL_POWER_FACTOR valHH valH valL valLL + 0 1 3 CONTROL_STEERING_FACTOR valHH valH valL valLL + 0 1 4 CONTROL_SECURITY_PARAM maxSpeedFw maxSpeedBw - - + 0 1 5 CONTROL_SETUP_PARAM displayAliveTime steeringAliveTime + 0 1 6 CONTROL_SETUP_PARAM_JOY joystickMode joystickParam1 joystickParam2 joystickAliveTime + 0 1 7 CONTROL_SETUP_PARAM_DRIVE driveAliveTime driveSpeedTime driveStopTime + 0 1 8 CONTROL_SETUP_PARAM_BATTERY batteryVoltTime batteryCurrentTime batteryEnergyTime batteryAliveTime + */ + if(idMsg == 0x0) { // CONTROL_SETUP + + } + + if(idMsg == 0x1) { // CONTROL_SPEED_FACTOR + + } + + if(idMsg == 0x2) { // CONTROL_POWER_FACTOR + + } + + if(idMsg == 0x3) { // CONTROL_STEERING_FACTOR + + } + + if(idMsg == 0x4) { // CONTROL_SECURITY_PARAM + + } + + if(idMsg == 0x5) { // CONTROL_SETUP_PARAM + + } + + if(idMsg == 0x6) { // CONTROL_SETUP_PARAM_JOY + // joystickMode joystickParam1 joystickParam2 joystickAliveTime + BYTES_4 tmpData; + tmpData.full.bytes = data; + MEM_write_one_byte(MEMADD_JOYSTICK_MODE, tmpData.separate.byte0); + MEM_write_one_byte(MEMADD_JOYSTICK_PARAM1, tmpData.separate.byte1); + MEM_write_one_byte(MEMADD_JOYSTICK_PARAM2, tmpData.separate.byte2); + MEM_write_one_byte(MEMADD_JOYSTICK_ALIVE_TIME, tmpData.separate.byte3); + CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); + CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); + CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); + CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); + ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME); + CM_JOY_SETUP(NULL); + + } + + if(idMsg == 0x7) { // CONTROL_SETUP_PARAM_DRIVE + + } + + if(idMsg == 0x8) { // CONTROL_SETUP_PARAM_BATTERY + + } + break; case 2: // Joystick From f60b9166ca8504aef3b09bab991d4873f8d69f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 12:57:16 +0200 Subject: [PATCH 05/20] implement memory init for EEPROM --- 306-controller_interface.X/app/can_message.c | 130 +++++++++++++----- 306-controller_interface.X/app/car.h | 19 ++- .../app/factory/factory.c | 12 +- .../middleware/eeprom_interface.c | 119 ++++++++++++++-- .../middleware/eeprom_interface.h | 9 +- threewheeler.DBF | 9 +- 6 files changed, 232 insertions(+), 66 deletions(-) diff --git a/306-controller_interface.X/app/can_message.c b/306-controller_interface.X/app/can_message.c index d8f3fe3..05f929a 100644 --- a/306-controller_interface.X/app/can_message.c +++ b/306-controller_interface.X/app/can_message.c @@ -6,9 +6,9 @@ */ #include "can_message.h" -#include "../middleware/can_interface.h" #include "car.h" #include "../app/factory/factory.h" +#include "../middleware/can_interface.h" typedef union { struct { @@ -24,40 +24,44 @@ typedef union { void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){ switch(idSender){ - case 0: // Broadcast / Debug - /* - S R M - 0 1 0 CONTROL_SETUP steeringMode - - controlAliveTime - 0 1 1 CONTROL_SPEED_FACTOR valHH valH valL valLL - 0 1 2 CONTROL_POWER_FACTOR valHH valH valL valLL - 0 1 3 CONTROL_STEERING_FACTOR valHH valH valL valLL - 0 1 4 CONTROL_SECURITY_PARAM maxSpeedFw maxSpeedBw - - - 0 1 5 CONTROL_SETUP_PARAM displayAliveTime steeringAliveTime - 0 1 6 CONTROL_SETUP_PARAM_JOY joystickMode joystickParam1 joystickParam2 joystickAliveTime - 0 1 7 CONTROL_SETUP_PARAM_DRIVE driveAliveTime driveSpeedTime driveStopTime - 0 1 8 CONTROL_SETUP_PARAM_BATTERY batteryVoltTime batteryCurrentTime batteryEnergyTime batteryAliveTime - */ + + /********************* + * BROADCAST / DEBUG * + *********************/ + case 0: if(idMsg == 0x0) { // CONTROL_SETUP - + // steeringMode - - controlAliveTime + BYTES_4 tmpData; + tmpData.full.bytes = data; + CAR_CST.CONTROL_STEERING_MODE = tmpData.separate.byte0; + CAR_CST.CONTROL_ALIVE_TIME = tmpData.separate.byte3; + MEM_write_1_byte(MEMADD_CONTROL_STEERING_MODE, CAR_CST.CONTROL_STEERING_MODE); + MEM_write_1_byte(MEMADD_CONTROL_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME); + WATCHDOG_setTime(WDcontroller(), CAR_CST.CONTROL_ALIVE_TIME); } if(idMsg == 0x1) { // CONTROL_SPEED_FACTOR + // valHH valH valL valLL } if(idMsg == 0x2) { // CONTROL_POWER_FACTOR + // valHH valH valL valLL } if(idMsg == 0x3) { // CONTROL_STEERING_FACTOR + // valHH valH valL valLL } if(idMsg == 0x4) { // CONTROL_SECURITY_PARAM + // maxSpeedFw maxSpeedBw - - } if(idMsg == 0x5) { // CONTROL_SETUP_PARAM + // displayAliveTime steeringAliveTime - - } @@ -65,41 +69,50 @@ void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){ // joystickMode joystickParam1 joystickParam2 joystickAliveTime BYTES_4 tmpData; tmpData.full.bytes = data; - MEM_write_one_byte(MEMADD_JOYSTICK_MODE, tmpData.separate.byte0); - MEM_write_one_byte(MEMADD_JOYSTICK_PARAM1, tmpData.separate.byte1); - MEM_write_one_byte(MEMADD_JOYSTICK_PARAM2, tmpData.separate.byte2); - MEM_write_one_byte(MEMADD_JOYSTICK_ALIVE_TIME, tmpData.separate.byte3); - CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); - CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); - CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); - CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); + CAR_CST.JOYSTICK_MODE = tmpData.separate.byte0; + CAR_CST.JOYSTICK_PARAM1 = tmpData.separate.byte1; + CAR_CST.JOYSTICK_PARAM2 = tmpData.separate.byte2; + CAR_CST.JOYSTICK_ALIVE_TIME = tmpData.separate.byte3; + MEM_write_1_byte(MEMADD_JOYSTICK_MODE, CAR_CST.JOYSTICK_MODE); + MEM_write_1_byte(MEMADD_JOYSTICK_PARAM1, CAR_CST.JOYSTICK_PARAM1); + MEM_write_1_byte(MEMADD_JOYSTICK_PARAM2, CAR_CST.JOYSTICK_PARAM2); + MEM_write_1_byte(MEMADD_JOYSTICK_ALIVE_TIME, CAR_CST.JOYSTICK_ALIVE_TIME); + ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME); CM_JOY_SETUP(NULL); } if(idMsg == 0x7) { // CONTROL_SETUP_PARAM_DRIVE + // driveAliveTime driveSpeedTime driveStopTime - } if(idMsg == 0x8) { // CONTROL_SETUP_PARAM_BATTERY + // batteryVoltTime batteryCurrentTime batteryEnergyTime batteryAliveTime } break; - case 2: // Joystick + + /************ + * JOYSTICK * + ************/ + case 2: if(idMsg == 0x1) { // JOY_MESURE + // posX posY button - } if(idMsg == 0xF) { // JOY_ALIVE + // - - - - ALIVE_CHECKER_ISALIVE(ACjoy()); if(ACjoy()->state == STAC_DEAD){ - CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); - CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); - CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); - CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); + CAR_CST.JOYSTICK_MODE = MEM_read_1_byte(MEMADD_JOYSTICK_MODE); + CAR_CST.JOYSTICK_PARAM1 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM1); + CAR_CST.JOYSTICK_PARAM2 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM2); + CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_1_byte(MEMADD_JOYSTICK_ALIVE_TIME); ALIVE_CHECKER_setAliveTime(ACjoy(), CAR_CST.JOYSTICK_ALIVE_TIME); ALIVE_CHECKER_emitBorn(ACjoy(), 0, 0); ALIVE_CHECKER_emitReady(ACjoy(), 100, 0); @@ -107,19 +120,70 @@ void CM_processIncome(uint8_t idSender, uint8_t idMsg, uint32_t data){ } break; - case 3: // Display + + /*********** + * DISPLAY * + ***********/ + case 3: + if(idMsg == 0xF) { // DISPLAY_ALIVE + // powerMode - - - + + } break; - case 4: // Drive + + /********* + * DRIVE * + *********/ + case 4: + if(idMsg == 0x0) { // DRIVE_SPEED + // speedHH speedH speedL speedLL + + } + + if(idMsg == 0xF) { // DRIVE_ALIVE + // statusH statusL - - + + } break; - case 5: // Steering + + /************ + * STEERING * + ************/ + case 5: + if(idMsg == 0x1) { // STEERING_GET_CENTER + // valHH valH valL valLL + + } + + if(idMsg == 0x2) { // STEERING_GET_POSITION + // valHH valH valL valLL + + } + + if(idMsg == 0xF) { // STEERING_ALIVE + // statusH statusL - - + + } break; - case 6: // Supply + + /********** + * SUPPLY * + **********/ + case 6: + if(idMsg == 0xF) { // BATTERY_ALIVE + // - - - - + + } break; - case 7: // Undefined + + /************* + * UNDEFINED * + *************/ + case 7: break; } } diff --git a/306-controller_interface.X/app/car.h b/306-controller_interface.X/app/car.h index 5d3a9a8..d1ba7a7 100644 --- a/306-controller_interface.X/app/car.h +++ b/306-controller_interface.X/app/car.h @@ -34,12 +34,15 @@ #define MEMADD_JOYSTICK_PARAM1 0x12 #define MEMADD_JOYSTICK_PARAM2 0x13 #define MEMADD_JOYSTICK_ALIVE_TIME 0x14 -#define MEMADD_DISPLAY_ALIVE_TIME 0x -#define MEMADD_DRIVE_SPEED_TIME 0x -#define MEMADD_DRIVE_STOP_TIME 0x -#define MEMADD_DRIVE_ALIVE_TIME 0x -#define MEMADD_STEERING_ALIVE_TIME 0x -#define MEMADD_BATTERY_ALIVE_TIME 0x +#define MEMADD_DISPLAY_ALIVE_TIME 0x15 +#define MEMADD_DRIVE_SPEED_TIME 0x16 +#define MEMADD_DRIVE_STOP_TIME 0x17 +#define MEMADD_DRIVE_ALIVE_TIME 0x18 +#define MEMADD_STEERING_ALIVE_TIME 0x19 +#define MEMADD_BATTERY_VOLT_TIME 0x1A +#define MEMADD_BATTERY_CURRENT_TIME 0x1B +#define MEMADD_BATTERY_ENERGY_TIME 0x1C +#define MEMADD_BATTERY_ALIVE_TIME 0x1D typedef struct { uint8_t CONTROL_STEERING_MODE; @@ -49,7 +52,6 @@ typedef struct { uint32_t CONTROL_STEERING_FACTOR; uint8_t CONTROL_MAX_SPEED_FW; uint8_t CONTROL_MAX_SPEED_BW; - uint8_t JOYSTICK_MODE; uint8_t JOYSTICK_PARAM1; uint8_t JOYSTICK_PARAM2; @@ -59,6 +61,9 @@ typedef struct { uint8_t DRIVE_STOP_TIME; uint8_t DRIVE_ALIVE_TIME; uint8_t STEERING_ALIVE_TIME; + uint8_t BATTERY_VOLT_TIME; + uint8_t BATTERY_CURRENT_TIME; + uint8_t BATTERY_ENERGY_TIME; uint8_t BATTERY_ALIVE_TIME; } CAR_CST_TYPE; CAR_CST_TYPE CAR_CST; diff --git a/306-controller_interface.X/app/factory/factory.c b/306-controller_interface.X/app/factory/factory.c index b381255..11b5ec4 100644 --- a/306-controller_interface.X/app/factory/factory.c +++ b/306-controller_interface.X/app/factory/factory.c @@ -64,22 +64,12 @@ void Factory_init() { LED_off(l1()); // TODO init EPROM interface + MEM_init(); // TODO init watchdog with EPROM CST WATCHDOG_init(WDcontroller()); - MEM_write_one_byte(MEMADD_CONTROL_ALIVE_TIME, 10); - - CAR_CST.CONTROL_ALIVE_TIME = MEM_read_one_byte(MEMADD_CONTROL_ALIVE_TIME); WATCHDOG_setTime(WDcontroller(), CAR_CST.CONTROL_ALIVE_TIME); - MEM_write_one_byte(MEMADD_JOYSTICK_MODE, 0); - MEM_write_one_byte(MEMADD_JOYSTICK_PARAM1, 100); - MEM_write_one_byte(MEMADD_JOYSTICK_PARAM2, 1); - MEM_write_one_byte(MEMADD_JOYSTICK_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME); - CAR_CST.JOYSTICK_MODE = MEM_read_one_byte(MEMADD_JOYSTICK_MODE); - CAR_CST.JOYSTICK_PARAM1 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM1); - CAR_CST.JOYSTICK_PARAM2 = MEM_read_one_byte(MEMADD_JOYSTICK_PARAM2); - CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_one_byte(MEMADD_JOYSTICK_ALIVE_TIME); ALIVE_CHECKER_init(ACjoy()); } diff --git a/306-controller_interface.X/middleware/eeprom_interface.c b/306-controller_interface.X/middleware/eeprom_interface.c index 7feb700..657329c 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.c +++ b/306-controller_interface.X/middleware/eeprom_interface.c @@ -6,6 +6,7 @@ */ #include "eeprom_interface.h" +#include "../app/car.h" typedef union { struct { @@ -14,23 +15,121 @@ typedef union { uint8_t byte2; uint8_t byte3; } separate; - struct { - uint32_t bytes; - } full; + uint32_t full; + uint8_t array[4]; } BYTES_4; -void MEM_write_one_byte(uint8_t addresse, uint8_t data) { - DATAEE_WriteByte(addresse, data); +void MEM_init(){ + uint8_t check = MEM_read_1_byte(0x0); + if(check != 0x42){ + CAR_CST.CONTROL_STEERING_MODE = 0; + CAR_CST.CONTROL_ALIVE_TIME = 50; + CAR_CST.CONTROL_SPEED_FACTOR = 0; + CAR_CST.CONTROL_POWER_FACTOR = 0; + CAR_CST.CONTROL_STEERING_FACTOR = 0; + CAR_CST.CONTROL_MAX_SPEED_FW = 0; + CAR_CST.CONTROL_MAX_SPEED_BW = 0; + + CAR_CST.JOYSTICK_MODE = 0; + CAR_CST.JOYSTICK_PARAM1 = 100; + CAR_CST.JOYSTICK_PARAM2 = 1; + CAR_CST.JOYSTICK_ALIVE_TIME = 50; + + CAR_CST.DISPLAY_ALIVE_TIME = 0; + + CAR_CST.DRIVE_SPEED_TIME = 0; + CAR_CST.DRIVE_STOP_TIME = 0; + CAR_CST.DRIVE_ALIVE_TIME = 0; + + CAR_CST.STEERING_ALIVE_TIME = 0; + + CAR_CST.BATTERY_VOLT_TIME = 0; + CAR_CST.BATTERY_CURRENT_TIME = 0; + CAR_CST.BATTERY_ENERGY_TIME = 0; + CAR_CST.BATTERY_ALIVE_TIME = 0; + + MEM_write_1_byte(MEMADD_CONTROL_STEERING_MODE, CAR_CST.CONTROL_STEERING_MODE); + MEM_write_1_byte(MEMADD_CONTROL_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME); + MEM_write_4_byte(MEMADD_CONTROL_SPEED_FACTOR, CAR_CST.CONTROL_SPEED_FACTOR); + MEM_write_4_byte(MEMADD_CONTROL_POWER_FACTOR, CAR_CST.CONTROL_POWER_FACTOR); + MEM_write_4_byte(MEMADD_CONTROL_STEERING_FACTOR, CAR_CST.CONTROL_STEERING_FACTOR); + MEM_write_1_byte(MEMADD_CONTROL_MAX_SPEED_FW, CAR_CST.CONTROL_MAX_SPEED_FW); + MEM_write_1_byte(MEMADD_CONTROL_MAX_SPEED_BW, CAR_CST.CONTROL_MAX_SPEED_BW); + + MEM_write_1_byte(MEMADD_JOYSTICK_MODE, CAR_CST.JOYSTICK_MODE); + MEM_write_1_byte(MEMADD_JOYSTICK_PARAM1, CAR_CST.JOYSTICK_PARAM1); + MEM_write_1_byte(MEMADD_JOYSTICK_PARAM2, CAR_CST.JOYSTICK_PARAM2); + MEM_write_1_byte(MEMADD_JOYSTICK_ALIVE_TIME, CAR_CST.JOYSTICK_ALIVE_TIME); + + MEM_write_1_byte(MEMADD_DISPLAY_ALIVE_TIME, CAR_CST.DISPLAY_ALIVE_TIME); + + MEM_write_1_byte(MEMADD_DRIVE_SPEED_TIME, CAR_CST.DRIVE_SPEED_TIME); + MEM_write_1_byte(MEMADD_DRIVE_STOP_TIME, CAR_CST.DRIVE_STOP_TIME); + MEM_write_1_byte(MEMADD_DRIVE_ALIVE_TIME, CAR_CST.DRIVE_ALIVE_TIME); + + MEM_write_1_byte(MEMADD_STEERING_ALIVE_TIME, CAR_CST.STEERING_ALIVE_TIME); + + MEM_write_1_byte(MEMADD_BATTERY_VOLT_TIME, CAR_CST.BATTERY_VOLT_TIME); + MEM_write_1_byte(MEMADD_BATTERY_CURRENT_TIME, CAR_CST.BATTERY_CURRENT_TIME); + MEM_write_1_byte(MEMADD_BATTERY_ENERGY_TIME, CAR_CST.BATTERY_ENERGY_TIME); + MEM_write_1_byte(MEMADD_BATTERY_ALIVE_TIME, CAR_CST.BATTERY_ALIVE_TIME); + + MEM_write_1_byte(0x0, 0x42); + } else { + CAR_CST.CONTROL_STEERING_MODE = MEM_read_1_byte(MEMADD_CONTROL_STEERING_MODE); + CAR_CST.CONTROL_ALIVE_TIME = MEM_read_1_byte(MEMADD_CONTROL_ALIVE_TIME); + CAR_CST.CONTROL_SPEED_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_SPEED_FACTOR); + CAR_CST.CONTROL_POWER_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_POWER_FACTOR); + CAR_CST.CONTROL_STEERING_FACTOR = MEM_read_1_byte(MEMADD_CONTROL_STEERING_FACTOR); + CAR_CST.CONTROL_MAX_SPEED_FW = MEM_read_1_byte(MEMADD_CONTROL_MAX_SPEED_FW); + CAR_CST.CONTROL_MAX_SPEED_BW = MEM_read_1_byte(MEMADD_CONTROL_MAX_SPEED_BW); + + CAR_CST.JOYSTICK_MODE = MEM_read_1_byte(MEMADD_JOYSTICK_MODE); + CAR_CST.JOYSTICK_PARAM1 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM1); + CAR_CST.JOYSTICK_PARAM2 = MEM_read_1_byte(MEMADD_JOYSTICK_PARAM2); + CAR_CST.JOYSTICK_ALIVE_TIME = MEM_read_1_byte(MEMADD_JOYSTICK_ALIVE_TIME); + + CAR_CST.DISPLAY_ALIVE_TIME = MEM_read_1_byte(MEMADD_DISPLAY_ALIVE_TIME); + + CAR_CST.DRIVE_SPEED_TIME = MEM_read_1_byte(MEMADD_DRIVE_SPEED_TIME); + CAR_CST.DRIVE_STOP_TIME = MEM_read_1_byte(MEMADD_DRIVE_STOP_TIME); + CAR_CST.DRIVE_ALIVE_TIME = MEM_read_1_byte(MEMADD_DRIVE_ALIVE_TIME); + + CAR_CST.STEERING_ALIVE_TIME = MEM_read_1_byte(MEMADD_STEERING_ALIVE_TIME); + + CAR_CST.BATTERY_VOLT_TIME = MEM_read_1_byte(MEMADD_BATTERY_VOLT_TIME); + CAR_CST.BATTERY_CURRENT_TIME = MEM_read_1_byte(MEMADD_BATTERY_CURRENT_TIME); + CAR_CST.BATTERY_ENERGY_TIME = MEM_read_1_byte(MEMADD_BATTERY_ENERGY_TIME); + CAR_CST.BATTERY_ALIVE_TIME = MEM_read_1_byte(MEMADD_BATTERY_ALIVE_TIME); + + } } -void MEM_write_four_byte(uint8_t addresse, uint32_t data) { +void MEM_write_1_byte(uint8_t address, uint8_t data) { + DATAEE_WriteByte(address, data); +} + +void MEM_write_4_byte(uint8_t address, uint32_t data) { + BYTES_4 tmpData; + tmpData.full = data; + for(uint8_t i = 0; i<4;i++) { + uint8_t add = address; + add += i; + MEM_write_1_byte(add, tmpData.array[i]); + } } -uint8_t MEM_read_one_byte(uint8_t adresse) { - return DATAEE_ReadByte(adresse); +uint8_t MEM_read_1_byte(uint8_t address) { + return DATAEE_ReadByte(address); } -uint32_t MEM_read_four_byte(uint8_t adresse) { - +uint32_t MEM_read_4_byte(uint8_t address) { + BYTES_4 tmpData; + for(uint8_t i = 0; i<4;i++) { + uint8_t add = address; + add += i; + tmpData.array[i] = MEM_read_1_byte(add); + } + return tmpData.full; } diff --git a/306-controller_interface.X/middleware/eeprom_interface.h b/306-controller_interface.X/middleware/eeprom_interface.h index d0f30a2..d4fff8e 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.h +++ b/306-controller_interface.X/middleware/eeprom_interface.h @@ -11,10 +11,11 @@ #include // usage of boolean types #include "../mcc_generated_files/mcc.h" -void MEM_write_one_byte(uint8_t addresse, uint8_t data); -void MEM_write_four_byte(uint8_t adresse, uint32_t data); -uint8_t MEM_read_one_byte(uint8_t adresse); -uint32_t MEM_read_four_byte(uint8_t adresse); +void MEM_init(); +void MEM_write_1_byte(uint8_t address, uint8_t data); +void MEM_write_4_byte(uint8_t address, uint32_t data); +uint8_t MEM_read_1_byte(uint8_t address); +uint32_t MEM_read_4_byte(uint8_t address); // void MEM_write_CONTROL_STEERING_MODE(uint8_t data); #endif /* EEPROM_INTERFACE_H */ diff --git a/threewheeler.DBF b/threewheeler.DBF index 6f5fd33..727ded4 100644 --- a/threewheeler.DBF +++ b/threewheeler.DBF @@ -6,7 +6,7 @@ [BUSMASTER_VERSION] [3.2.2] -[NUMBER_OF_MESSAGES] 25 +[NUMBER_OF_MESSAGES] 26 [START_MSG] JOY_MEASURE,529,3,3,1,S [START_SIGNALS] posX,8,1,0,I,127,-128,1,0.000000,1.000000,%, @@ -150,4 +150,11 @@ [START_MSG] STEERING_GET_POS,1298,4,1,1,S [START_SIGNALS] POSITION,32,4,0,I,2147483647,-2147483648,0,0.000000,1.000000,qc, +[END_MSG] + +[START_MSG] CONTROL_SETUP_PARAM_JOY,22,4,4,1,S +[START_SIGNALS] mode,1,1,0,B,1,0,1,0.000000,1.000000,, +[START_SIGNALS] timeMeasureOrDeltaX,8,2,0,U,255,0,1,0.000000,10.000000,msOrVal, +[START_SIGNALS] DeltaY,8,3,0,U,255,0,1,0.000000,1.000000,val, +[START_SIGNALS] aliveTime,8,4,0,U,255,0,1,0.000000,10.000000,ms, [END_MSG] \ No newline at end of file From c0dda9d6d748721c82eb9cf48dd3b6a29015a159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 14:10:00 +0200 Subject: [PATCH 06/20] move eeprom --- 306-controller_interface.X/nbproject/configurations.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 858a8fd..6fdf382 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -28,7 +28,6 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h - middleware/eeprom_interface.h xf/event.h From 3c0f78d3b352b56bed21ef8ae39f56232e7b11ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 14:10:25 +0200 Subject: [PATCH 07/20] move eeprom file --- 306-controller_interface.X/nbproject/configurations.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 6fdf382..ce03b10 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -8,7 +8,6 @@ app/factory/factory.h app/car.h app/can_message.h - middleware/eeprom_interface.h board/led/led.h @@ -28,6 +27,7 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h + middleware/eeprom_interface.h xf/event.h From 66ebed131db33f1d2022898438ff81f4b6aaebca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 14:49:36 +0200 Subject: [PATCH 08/20] increase size of event in queue --- 306-controller_interface.X/xf/xf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/306-controller_interface.X/xf/xf.h b/306-controller_interface.X/xf/xf.h index 38c1f14..b74e185 100644 --- a/306-controller_interface.X/xf/xf.h +++ b/306-controller_interface.X/xf/xf.h @@ -28,7 +28,7 @@ typedef struct Timer_ // timer structure /* depending on usage, change MAXTIMER and MAXEVENT */ /*----------------------------------------------------------------------------*/ #define MAXTIMER 8 // number of timers in our system -#define MAXEVENT 12 // number of events in our system +#define MAXEVENT 20 // number of events in our system #define NULLTIMER 0 // no value for time #define TICKINTERVAL 10 // this is the ticktimers duration From 8dab08f7f8dff2a901da4db57feea66b830d6d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 16:26:59 +0200 Subject: [PATCH 09/20] refactor alive_checker --- UML/alive.uxf | 226 +++++++++++++++++++++++++++----------------------- 1 file changed, 123 insertions(+), 103 deletions(-) diff --git a/UML/alive.uxf b/UML/alive.uxf index 0f31457..b947a1e 100644 --- a/UML/alive.uxf +++ b/UML/alive.uxf @@ -1,13 +1,13 @@ - 14 + 15 UMLSpecialState - 266 - 98 - 28 - 28 + 735 + 45 + 30 + 30 type=initial @@ -15,115 +15,112 @@ Relation - 266 - 112 - 112 - 98 + 735 + 60 + 90 + 105 lt=-> -evACinit +evInit 10.0;10.0;10.0;50.0 UMLState - 210 - 182 - 140 - 56 + 615 + 135 + 285 + 90 - STAC_SETUP - - - - UMLNote - - 434 - 182 - 140 - 42 - - Send params - - - - Relation - - 266 - 224 - 126 - 98 - - lt=-> -evACborn - 10.0;10.0;10.0;50.0 - - - UMLState - - 210 - 294 - 140 - 56 - - STAC_BORN - - - - UMLState - - 168 - 406 - 224 - 84 - - STAC_WAIT + SETUP -- -/entry: isAlive = false +/entry: sendParamsOnCan Relation - 266 - 336 - 140 - 98 + 735 + 210 + 105 + 105 lt=-> -evACready +evBorn 10.0;10.0;10.0;50.0 UMLState - 210 - 658 - 140 - 56 + 615 + 285 + 285 + 90 - STAC_DEAD + BORN +-- +/entry: init + + + + UMLState + + 615 + 435 + 285 + 120 + + WAIT +-- +/entry: start children class +-- +isAlive = false Relation - 266 - 476 - 112 - 98 + 735 + 360 + 120 + 105 lt=-> -evACpoll +evReady + 10.0;10.0;10.0;50.0 + + + UMLState + + 615 + 735 + 285 + 90 + + DEAD +-- + + + + + Relation + + 735 + 540 + 105 + 105 + + lt=-> +evPoll 10.0;10.0;10.0;50.0 UMLSpecialState - 252 - 546 - 56 - 56 + 720 + 615 + 60 + 60 type=decision @@ -131,48 +128,71 @@ evACpoll Relation - 266 - 588 - 84 - 98 + 735 + 660 + 90 + 105 lt=-> m1=[else] 10.0;10.0;10.0;50.0 - UMLNote + Relation - 434 - 294 - 140 - 42 + 540 + 480 + 210 + 210 - Reset / Init - + lt=-> +m1=[isAlive] + 120.0;110.0;10.0;110.0;10.0;10.0;50.0;10.0 Relation - 294 - 420 - 182 - 196 + 885 + 150 + 210 + 405 lt=-> -m1=[alive] - 10.0;110.0;110.0;110.0;110.0;10.0;70.0;10.0 +evDisable + 10.0;250.0;60.0;250.0;60.0;10.0;10.0;10.0 Relation - 140 - 308 - 168 - 490 + 480 + 315 + 300 + 600 lt=-> -evACborn - 100.0;290.0;100.0;330.0;10.0;330.0;10.0;10.0;50.0;10.0 +evBorn + 180.0;340.0;180.0;380.0;10.0;380.0;10.0;10.0;90.0;10.0 + + + Relation + + 885 + 510 + 120 + 315 + + lt=- + 10.0;190.0;60.0;190.0;60.0;10.0 + + + Relation + + 885 + 330 + 120 + 45 + + lt=- + 10.0;10.0;60.0;10.0 From cd219510e27499996817fa18926867145313f295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 16:27:36 +0200 Subject: [PATCH 10/20] mini-polish eeprom --- .../middleware/eeprom_interface.h | 1 - .../nbproject/configurations.xml | 947 +++++++++++++++++- 2 files changed, 942 insertions(+), 6 deletions(-) diff --git a/306-controller_interface.X/middleware/eeprom_interface.h b/306-controller_interface.X/middleware/eeprom_interface.h index d4fff8e..62a0ee6 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.h +++ b/306-controller_interface.X/middleware/eeprom_interface.h @@ -16,7 +16,6 @@ void MEM_write_1_byte(uint8_t address, uint8_t data); void MEM_write_4_byte(uint8_t address, uint32_t data); uint8_t MEM_read_1_byte(uint8_t address); uint32_t MEM_read_4_byte(uint8_t address); -// void MEM_write_CONTROL_STEERING_MODE(uint8_t data); #endif /* EEPROM_INTERFACE_H */ diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index ce03b10..224d919 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -238,7 +238,7 @@ - + @@ -250,6 +250,478 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -257,11 +729,15 @@ + + + + @@ -275,6 +751,24 @@ value="${memories.instruction.ram.ranges}"/> + + + + + + + + + + + + + + + + + + @@ -283,7 +777,7 @@ - + @@ -293,7 +787,453 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -301,15 +1241,12 @@ - - - From 7d8f91f554a33a6c75dfd0e3c158e0b393a95b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 17:36:03 +0200 Subject: [PATCH 11/20] start sequence diagram --- .gitignore | 1 + UML/can.puml | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 .gitignore create mode 100644 UML/can.puml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3552451 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/UML/can.puml b/UML/can.puml new file mode 100644 index 0000000..fcb0a14 --- /dev/null +++ b/UML/can.puml @@ -0,0 +1,15 @@ +@startuml + +participant interrupt as ISR +participant ecan as ecan +queue XF as xf +participant can_interface as can + + +[-\\ ISR ++ : can message +ISR -> ecan : read +ecan --> ISR : message +ISR -> xf --: POST XF +xf o-> can : + +@enduml \ No newline at end of file From 233e1ff5adb155c7e6d8aae95c78b8a121007c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 17:36:18 +0200 Subject: [PATCH 12/20] change pic version --- .../mcc_generated_files/device_config.c | 2 +- .../mcc_generated_files/device_config.h | 2 +- .../mcc_generated_files/interrupt_manager.c | 2 +- .../mcc_generated_files/interrupt_manager.h | 2 +- .../mcc_generated_files/mcc.c | 2 +- .../mcc_generated_files/mcc.h | 2 +- .../mcc_generated_files/memory.c | 2 +- .../mcc_generated_files/memory.h | 8 +- .../mcc_generated_files/pin_manager.c | 2 +- .../mcc_generated_files/pin_manager.h | 2 +- .../mcc_generated_files/tmr0.c | 2 +- .../mcc_generated_files/tmr0.h | 2 +- .../nbproject/configurations.xml | 6 +- 306-controller_interface.X/ss22ep.mc3 | 90 +- 306-controller_interface.X/ss22ep.mc3.bak0 | 17224 ++++++++++++++++ 15 files changed, 17287 insertions(+), 63 deletions(-) create mode 100644 306-controller_interface.X/ss22ep.mc3.bak0 diff --git a/306-controller_interface.X/mcc_generated_files/device_config.c b/306-controller_interface.X/mcc_generated_files/device_config.c index eb96dd3..1e3bf51 100644 --- a/306-controller_interface.X/mcc_generated_files/device_config.c +++ b/306-controller_interface.X/mcc_generated_files/device_config.c @@ -14,7 +14,7 @@ This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/device_config.h b/306-controller_interface.X/mcc_generated_files/device_config.h index 0c48b82..72f9a53 100644 --- a/306-controller_interface.X/mcc_generated_files/device_config.h +++ b/306-controller_interface.X/mcc_generated_files/device_config.h @@ -14,7 +14,7 @@ This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/interrupt_manager.c b/306-controller_interface.X/mcc_generated_files/interrupt_manager.c index bd0b551..db7e86a 100644 --- a/306-controller_interface.X/mcc_generated_files/interrupt_manager.c +++ b/306-controller_interface.X/mcc_generated_files/interrupt_manager.c @@ -16,7 +16,7 @@ all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.04 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/interrupt_manager.h b/306-controller_interface.X/mcc_generated_files/interrupt_manager.h index 90330f6..babb6f2 100644 --- a/306-controller_interface.X/mcc_generated_files/interrupt_manager.h +++ b/306-controller_interface.X/mcc_generated_files/interrupt_manager.h @@ -16,7 +16,7 @@ all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.03 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/mcc.c b/306-controller_interface.X/mcc_generated_files/mcc.c index 0abd635..e2cbde5 100644 --- a/306-controller_interface.X/mcc_generated_files/mcc.c +++ b/306-controller_interface.X/mcc_generated_files/mcc.c @@ -14,7 +14,7 @@ This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/mcc.h b/306-controller_interface.X/mcc_generated_files/mcc.h index 6360c59..f681b38 100644 --- a/306-controller_interface.X/mcc_generated_files/mcc.h +++ b/306-controller_interface.X/mcc_generated_files/mcc.h @@ -14,7 +14,7 @@ This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later diff --git a/306-controller_interface.X/mcc_generated_files/memory.c b/306-controller_interface.X/mcc_generated_files/memory.c index 3bf3c4c..b53aa2c 100644 --- a/306-controller_interface.X/mcc_generated_files/memory.c +++ b/306-controller_interface.X/mcc_generated_files/memory.c @@ -14,7 +14,7 @@ This file provides implementations of driver APIs for MEMORY. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.1.3 The generated drivers are tested against the following: Compiler : XC8 2.36 and above diff --git a/306-controller_interface.X/mcc_generated_files/memory.h b/306-controller_interface.X/mcc_generated_files/memory.h index e295cca..5020390 100644 --- a/306-controller_interface.X/mcc_generated_files/memory.h +++ b/306-controller_interface.X/mcc_generated_files/memory.h @@ -14,7 +14,7 @@ This header file provides APIs for driver for MEMORY. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.1.3 The generated drivers are tested against the following: Compiler : XC8 2.36 and above @@ -64,9 +64,9 @@ Section: Macro Declarations */ -#define WRITE_FLASH_BLOCKSIZE 64 -#define ERASE_FLASH_BLOCKSIZE 64 -#define END_FLASH 0x008000 +#define WRITE_FLASH_BLOCKSIZE 128 +#define ERASE_FLASH_BLOCKSIZE 128 +#define END_FLASH 0x010000 /** Section: Flash Module APIs diff --git a/306-controller_interface.X/mcc_generated_files/pin_manager.c b/306-controller_interface.X/mcc_generated_files/pin_manager.c index adf9b9a..b9c898e 100644 --- a/306-controller_interface.X/mcc_generated_files/pin_manager.c +++ b/306-controller_interface.X/mcc_generated_files/pin_manager.c @@ -14,7 +14,7 @@ This header file provides implementations for pin APIs for all pins selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.11 The generated drivers are tested against the following: Compiler : XC8 2.36 and above diff --git a/306-controller_interface.X/mcc_generated_files/pin_manager.h b/306-controller_interface.X/mcc_generated_files/pin_manager.h index 791e977..a4d0d24 100644 --- a/306-controller_interface.X/mcc_generated_files/pin_manager.h +++ b/306-controller_interface.X/mcc_generated_files/pin_manager.h @@ -14,7 +14,7 @@ This header file provides APIs for driver for . Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 2.11 The generated drivers are tested against the following: Compiler : XC8 2.36 and above diff --git a/306-controller_interface.X/mcc_generated_files/tmr0.c b/306-controller_interface.X/mcc_generated_files/tmr0.c index 5e32ee5..72ae03d 100644 --- a/306-controller_interface.X/mcc_generated_files/tmr0.c +++ b/306-controller_interface.X/mcc_generated_files/tmr0.c @@ -14,7 +14,7 @@ This source file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 3.10 The generated drivers are tested against the following: Compiler : XC8 2.36 and above diff --git a/306-controller_interface.X/mcc_generated_files/tmr0.h b/306-controller_interface.X/mcc_generated_files/tmr0.h index ad9154b..60b06d7 100644 --- a/306-controller_interface.X/mcc_generated_files/tmr0.h +++ b/306-controller_interface.X/mcc_generated_files/tmr0.h @@ -14,7 +14,7 @@ This header file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F25K83 + Device : PIC18F26K83 Driver Version : 3.10 The generated drivers are tested against the following: Compiler : XC8 2.36 and above diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 224d919..fcd71c2 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -88,7 +88,7 @@ localhost - PIC18F25K83 + PIC18F26K83 PICkit3PlatformTool @@ -238,7 +238,7 @@ - + @@ -777,7 +777,7 @@ - + diff --git a/306-controller_interface.X/ss22ep.mc3 b/306-controller_interface.X/ss22ep.mc3 index 545a479..2f25ff4 100644 --- a/306-controller_interface.X/ss22ep.mc3 +++ b/306-controller_interface.X/ss22ep.mc3 @@ -1,4 +1,4 @@ - + @@ -17159,66 +17159,66 @@ Window delay time 87.5% - - - mcc_generated_files\interrupt_manager.h - 313560861c27e0a0b39b2bbb6a64ac2068fd1937dc0339d7303ff241bbb52955 - - - mcc_generated_files\mcc.h - aead6835bc73f4332d9abb5de6c2a40829de25cc98452c4c69960d51b52844e9 - - - mcc_generated_files\device_config.h - 2f04b3ff01bbe49769634d389433c7010ffb45d0f2973898e33988be7ab07d56 - - - mcc_generated_files\memory.c - ae2dbb373f8f03dd013cde153de046ba7c3c41033c1dedb8545cde41837ca3da - - - mcc_generated_files\tmr0.h - 68e2ba0f47166abd2da1a472d6a67bfde31f9be3edc8582ace93062a6a32f441 - + main.c - 91afd5df6694cfcd0279d66d9b5b3eb72a9c4eae825f0c0af82824e2ee66e35e + cae37ae3b36cf22e97e106633433f5c00a66dd5d38ec353eb67fbbb0d88bde4d mcc_generated_files\device_config.c - 4288704a051756dce8bb92e77a82ba1285fc638cde56b3676b59406ba0fcea7b + 39a6d1181ef5eab59c7dde2c52a9ea889465d4da43262200f3322abc45e77739 - mcc_generated_files\pin_manager.h - 3e61569926ed5f184a2267965f2cf7ca26dc997d552c213ebd94dbd80da54891 - - - mcc_generated_files\tmr0.c - f9702dc8c67433ffc3b8db9e12ee3a73fb0b152a792d26f6c7a89a3846bc4fc9 - - - mcc_generated_files\pin_manager.c - f8ace8a0b0d2a4f0ed3e209db056da57858e5a670ad7d514e44352d9187be806 + mcc_generated_files\device_config.h + 89c6172ff575ce515b93f2fbc85dcedc2978e58a8e0e1fbdc52e42511ae3bc05 mcc_generated_files\ecan.c - b60a119876875a2af386474d32176b8be0f47a074a2d8688e79251a2d7cdf6fa - - - mcc_generated_files\interrupt_manager.c - bb0eaf9aec0554de0106cff27f66e56ae02a40bbdcb68d4d58d8a0d84d8929f6 - - - mcc_generated_files\mcc.c - 34fadc3a271040b358215ec477acf3e135b77137f9a1cc96def75fc2936d3ad6 + ea62f50d319e1e537d7632774728ad6a779f442e896d043dbdea8066d028a6c6 mcc_generated_files\ecan.h - 0473fedf57d1376193e049ba507abed0960af84f0e416bea25972c4dae59ca26 + aa9a50aae81bab76b876ea6123777af7d6a6d0a58fe953be27e8b88776395b2e + + + mcc_generated_files\interrupt_manager.c + df04edcd2c7d85ef90a8dbe4e46f1b1c9487b872153f4f2321249a4ce0d9635f + + + mcc_generated_files\interrupt_manager.h + 9c2f1ae45f2ac887bb3e8b3763e1a394a6a22ffe4e9ae1c20c336fe6f12da1aa + + + mcc_generated_files\mcc.c + cc9ed44843b509879e6a3f676b561ecde91e1df88d855cf7eca77e1afc8920ca + + + mcc_generated_files\mcc.h + a2db7e36e878f686c2bf0c2ef586ef1c6570fa2f27119b4be7b52af6403091a4 + + + mcc_generated_files\memory.c + 17fb4759c4719b77287f6c4be48edfbcf117b5b8398b771c434f23aceac256e0 mcc_generated_files\memory.h - 77a34d015c961db9ed465b4ca2d85ba910fb030ca14c3c2854428ab0b9b6fac2 + fbbca4e9d7ce92ddcc637d82b694a1f5cbefa75710a8a18bb1dc9ab5161f0924 + + + mcc_generated_files\pin_manager.c + 04b16a3d3fcbbb333ee6fb545a405b76aba47ef3935be548bf2b8165c43c5654 + + + mcc_generated_files\pin_manager.h + 611a409602fd8fba29be052e06a3ce86ad0a3b723b5e0f4c1a998854de7f9a7b + + + mcc_generated_files\tmr0.c + e0b4d075e819024ae77ea60a2c01182fdca45b783980cb50358d0a614736339d + + + mcc_generated_files\tmr0.h + 6661ab783aae9f11e952805f9bca14209ec06551939552123056eefd5524fff8 \ No newline at end of file diff --git a/306-controller_interface.X/ss22ep.mc3.bak0 b/306-controller_interface.X/ss22ep.mc3.bak0 new file mode 100644 index 0000000..545a479 --- /dev/null +++ b/306-controller_interface.X/ss22ep.mc3.bak0 @@ -0,0 +1,17224 @@ + + + + + DMA CHANNEL1 + class com.microchip.mcc.mcu8.dmaManager.submodule.DMAModules + + + DMA CHANNEL2 + class com.microchip.mcc.mcu8.dmaManager.submodule.DMAModules + + + DMA Manager + class com.microchip.mcc.mcu8.dmaManager.DMA + + + ECAN + class com.microchip.mcc.mcu8.modules.can.CAN + + + INTERNAL OSCILLATOR + class com.microchip.mcc.mcu8.systemManager.osc.Osc + + + Interrupt Module + class com.microchip.mcc.mcu8.interruptManager_K42.InterruptManager + + + MEMORY + class com.microchip.mcc.mcu8.modules.memory.MEMORY + + + PMD + class com.microchip.mcc.mcu8.systemManager.pmd.PMD + + + Pin Module + class com.microchip.mcc.mcu8.pinManager.PinManager + + + RESET + class com.microchip.mcc.mcu8.systemManager.reset.RESET + + + System Module + class com.microchip.mcc.mcu8.systemManager.SystemManager + + + TMR0 + class com.microchip.mcc.mcu8.modules.tmr0_mid0.TMR0 + + + WWDT + class com.microchip.mcc.mcu8.systemManager.wwdt.WWDT + + + + + + + + + ISR_DMA CHANNEL1_DMAAI + + + + ISR_DMA CHANNEL1_DMADCNTI + + + + ISR_DMA CHANNEL1_DMAORI + + + + ISR_DMA CHANNEL1_DMASCNTI + + + + 10 + + + + 11 + + + + 45 + + + + 47 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 46 + + + + 35 + + + + 67 + + + + 74 + + + + 77 + + + + 38 + + + + 69 + + + + 76 + + + + 78 + + + + 12 + + + + 48 + + + + 6 + + + + 3 + + + + 37 + + + + 68 + + + + 75 + + + + 19 + + + + 17 + + + + 18 + + + + 16 + + + + 55 + + + + 53 + + + + 54 + + + + 52 + + + + 25 + + + + 26 + + + + 23 + + + + 24 + + + + 58 + + + + 59 + + + + 56 + + + + 57 + + + + 8 + + + + 39 + + + + 70 + + + + 7 + + + + 1 + + + + 36 + + + + 4 + + + + 0 + + + + 2 + + + + 5 + + + + 13 + + + + 14 + + + + 15 + + + + 49 + + + + 50 + + + + 51 + + + + 22 + + + + 20 + + + + 21 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 64 + + + + 65 + + + + 66 + + + + 71 + + + + 72 + + + + 73 + + + + 30 + + + + 29 + + + + 27 + + + + 28 + + + + 63 + + + + 62 + + + + 60 + + + + 61 + + + + 9 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 10 + + + + 11 + + + + 45 + + + + 47 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 46 + + + + 35 + + + + 67 + + + + 74 + + + + 77 + + + + 38 + + + + 69 + + + + 76 + + + + 78 + + + + 12 + + + + 48 + + + + 6 + + + + 3 + + + + 37 + + + + 68 + + + + 75 + + + + 19 + + + + 17 + + + + 18 + + + + 16 + + + + 55 + + + + 53 + + + + 54 + + + + 52 + + + + 25 + + + + 26 + + + + 23 + + + + 24 + + + + 58 + + + + 59 + + + + 56 + + + + 57 + + + + 8 + + + + 39 + + + + 70 + + + + 7 + + + + 1 + + + + 36 + + + + 4 + + + + 0 + + + + 2 + + + + 5 + + + + 13 + + + + 14 + + + + 15 + + + + 49 + + + + 50 + + + + 51 + + + + 22 + + + + 20 + + + + 21 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 64 + + + + 65 + + + + 66 + + + + 71 + + + + 72 + + + + 73 + + + + 30 + + + + 29 + + + + 27 + + + + 28 + + + + 63 + + + + 62 + + + + 60 + + + + 61 + + + + 9 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + None + + + + disabled + + + + not in progress + + + + disabled + + + + disabled + + + + not in progress + + + + unchanged + + + + not cleared + + + + unchanged + + + + GPR + + + + not cleared + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + None + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + ISR_DMA CHANNEL2_DMAAI + + + + ISR_DMA CHANNEL2_DMADCNTI + + + + ISR_DMA CHANNEL2_DMAORI + + + + ISR_DMA CHANNEL2_DMASCNTI + + + + 10 + + + + 11 + + + + 45 + + + + 47 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 46 + + + + 35 + + + + 67 + + + + 74 + + + + 77 + + + + 38 + + + + 69 + + + + 76 + + + + 78 + + + + 12 + + + + 48 + + + + 6 + + + + 3 + + + + 37 + + + + 68 + + + + 75 + + + + 19 + + + + 17 + + + + 18 + + + + 16 + + + + 55 + + + + 53 + + + + 54 + + + + 52 + + + + 25 + + + + 26 + + + + 23 + + + + 24 + + + + 58 + + + + 59 + + + + 56 + + + + 57 + + + + 8 + + + + 39 + + + + 70 + + + + 7 + + + + 1 + + + + 36 + + + + 4 + + + + 0 + + + + 2 + + + + 5 + + + + 13 + + + + 14 + + + + 15 + + + + 49 + + + + 50 + + + + 51 + + + + 22 + + + + 20 + + + + 21 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 64 + + + + 65 + + + + 66 + + + + 71 + + + + 72 + + + + 73 + + + + 30 + + + + 29 + + + + 27 + + + + 28 + + + + 63 + + + + 62 + + + + 60 + + + + 61 + + + + 9 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 10 + + + + 11 + + + + 45 + + + + 47 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 46 + + + + 35 + + + + 67 + + + + 74 + + + + 77 + + + + 38 + + + + 69 + + + + 76 + + + + 78 + + + + 12 + + + + 48 + + + + 6 + + + + 3 + + + + 37 + + + + 68 + + + + 75 + + + + 19 + + + + 17 + + + + 18 + + + + 16 + + + + 55 + + + + 53 + + + + 54 + + + + 52 + + + + 25 + + + + 26 + + + + 23 + + + + 24 + + + + 58 + + + + 59 + + + + 56 + + + + 57 + + + + 8 + + + + 39 + + + + 70 + + + + 7 + + + + 1 + + + + 36 + + + + 4 + + + + 0 + + + + 2 + + + + 5 + + + + 13 + + + + 14 + + + + 15 + + + + 49 + + + + 50 + + + + 51 + + + + 22 + + + + 20 + + + + 21 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 64 + + + + 65 + + + + 66 + + + + 71 + + + + 72 + + + + 73 + + + + 30 + + + + 29 + + + + 27 + + + + 28 + + + + 63 + + + + 62 + + + + 60 + + + + 61 + + + + 9 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + None + + + + disabled + + + + not in progress + + + + disabled + + + + disabled + + + + not in progress + + + + unchanged + + + + not cleared + + + + unchanged + + + + GPR + + + + not cleared + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + None + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + {"dataArray":[{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL1","value":"false"},"id":"DMA Channels_rowCount_0"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_0"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_0"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_0"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName0","value":"SrcVarName0"},"id":"Src VarName_rowCount_0"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_0","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"},"id":"Src Address_rowCount_0","Src Address":{"isDisable":"true","options":"","text":"Enter Address0","value":"Enter Address0"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_0"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_0"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_0"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_0"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_0"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName0","value":"DstVarName0"},"id":"Dst VarName_rowCount_0"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_0","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_0"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_0"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_0"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_0","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}},{"DMA Channels":{"data":{"isDisable":"true","options":"--NONE--","text":"DMA CHANNEL2","value":"false"},"id":"DMA Channels_rowCount_1"},"Src Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Src Module_rowCount_1"},"Src Region":{"data":{"isDisable":"true","options":"SFR#disabled,GPR#enabled,Program Flash#enabled,Data EEPROM#enabled","text":"GPR","value":"GPR"},"id":"Src Region_rowCount_1"},"Src SFR":{"Src SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Src SFR_rowCount_1"},"Src VarName":{"data":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"Src VarName":{"isDisable":"true","options":"","text":"SrcVarName1","value":"SrcVarName1"},"id":"Src VarName_rowCount_1"},"Src VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Src VarSize_rowCount_1","Src VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Src Address":{"data":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"},"id":"Src Address_rowCount_1","Src Address":{"isDisable":"true","options":"","text":"Enter Address1","value":"Enter Address1"}},"Src Mode":{"Src Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Src Mode_rowCount_1"},"Src Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Src Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Src Message Size_rowCount_1"},"Dst Module":{"data":{"isDisable":"true","options":"--NONE--,MEMORY,ECAN,TMR0","text":"--NONE--","value":"--NONE--"},"id":"Dst Module_rowCount_1"},"Dst Region":{"data":{"isDisable":"true","options":"SFR,GPR","text":"GPR","value":"GPR"},"id":"Dst Region_rowCount_1"},"Dst SFR":{"Dst SFR":{"isDisable":"true","options":"","text":"","value":""},"data":{"isDisable":"true","options":"","text":"","value":""},"id":"Dst SFR_rowCount_1"},"Dst VarName":{"data":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"Dst VarName":{"isDisable":"true","options":"","text":"DstVarName1","value":"DstVarName1"},"id":"Dst VarName_rowCount_1"},"Dst VarSize":{"data":{"isDisable":"true","options":"","text":"10","value":"10"},"id":"Dst VarSize_rowCount_1","Dst VarSize":{"isDisable":"true","options":"","text":"10","value":"10"}},"Dst Mode":{"data":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"Dst Mode":{"isDisable":"true","options":"decremented,incremented,unchanged","text":"unchanged","value":"unchanged"},"id":"Dst Mode_rowCount_1"},"Dst Message Size":{"data":{"isDisable":"true","options":"","text":"1","value":"1"},"Dst Message Size":{"isDisable":"true","options":"","text":"1","value":"1"},"id":"Dst Message Size_rowCount_1"},"Start Trigger":{"Start Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Start Trigger_rowCount_1"},"Abort Trigger":{"data":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"},"id":"Abort Trigger_rowCount_1","Abort Trigger":{"isDisable":"true","options":"AD,ADT,CAN_ERRIF,CAN_IRXIF,CAN_RXB0IF\/FIFOIF,CAN_RXB1IF\/RXBnIF,CAN_TXB0IF,CAN_TXB1IF,CAN_TXB2IF\/TXBnIF,CAN_WAKIF,CCP1,CCP2,CCP3,CCP4,CLC1,CLC2,CLC3,CLC4,CMP1,CMP2,CRC,CSW,CWG1,CWG2,CWG3,DMA1A,DMA1DCNT,DMA1OR,DMA1SCNT,DMA2A,DMA2DCNT,DMA2OR,DMA2SCNT,I2C1,I2C1E,I2C1RX,I2C1TX,I2C2,I2C2E,I2C2RX,I2C2TX,INT0,INT1,INT2,IOC,LVD,NCO,NVM,None,OSF,SCAN,SMT1,SMT1PRA,SMT1PWA,SMT2,SMT2PRA,SMT2PWA,SPI1,SPI1RX,SPI1TX,TMR0,TMR1,TMR1G,TMR2,TMR3,TMR3G,TMR4,TMR5,TMR5G,TMR6,U1,U1E,U1RX,U1TX,U2,U2E,U2RX,U2TX,ZCD","text":"None","value":"None"}}}],"type":"tableDynamicControls","key":"dmaTable"} + + + + ERRI_ISR + + + + FIFOWMI_ISR + + + + IRXI_ISR + + + + RXB0I_ISR + + + + RXB1I_ISR + + + + RXBnI_ISR + + + + TXB0I_ISR + + + + TXB1I_ISR + + + + TXB2I_ISR + + + + TXBnI_ISR + + + + WAKI_ISR + + + + Filter 0 + + + + SID + + + + Acceptance Mask 0 + + + + FIFO + + + + 250kbps + + + + 64000000 + + + + PIC18F26K83 + + + + CANTX pin will drive VDD when recessive + + + + 1000000 + + + + 8 + + + + FIFO Watermark interrupt is disabled + + + + 0 + + + + hfintosc + + + + 1 x TQ + + + + 75% + + + + 8 + + + + 64000000 + + + + 64000000 + + + + 0 + + + + enabled + + + + enabled + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 3 + + + + 39 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 4 + + + + 49 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 5 + + + + 59 + + + + 60 + + + + 61 + + + + 14 + + + + 63 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 4 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 8 + + + + 9 + + + + 1 + + + + 6 + + + + 7 + + + + 2 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 3 + + + + 4 + + + + 5 + + + + 0 + + + + 1 + + + + 2 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 15 + + + + 152 + + + + 129 + + + + 0 + + + + 128 + + + + 0 + + + + 0 + + + + 144 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + When a remote transmission request is received, TXREQ will be unaffected + + + + Receive buffer is open to receive a new message + + + + Receive all valid messages as per acceptance filters + + + + Received message is not a remote transmission request + + + + Message was not aborted + + + + No message was transmitted + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + 0 + + + + 0 + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + This is not a remote transmission request + + + + Transmitted message will have the RTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Received message is a standard identifier frame + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + Interrupt is disabled + + + + TQ = (2 x 16)/FOSC + + + + Synchronization jump width time = 1 x TQ + + + + 1 x TQ + + + + Bus line is sampled once at the sample point + + + + 4 x TQ + + + + Freely programmable + + + + 2 x TQ + + + + Disable CAN bus activity wake-up feature + + + + CAN bus line filter is not used for wake-up + + + + Buffer 0 is configured in Receive mode + + + + Buffer 1 is configured in Receive mode + + + + Buffer 2 is configured in Receive mode + + + + Buffer 3 is configured in Receive mode + + + + Buffer 4 is configured in Receive mode + + + + Buffer 5 is configured in Receive mode + + + + Transmissions proceeding as normal + + + + 0 + + + + Requests Configuration Mode + + + + 0 + + + + 0 + + + + 0 + + + + Use system clock as CAN system clock + + + + CANTX1 pin will output CANTX + + + + Neither the RXWARN or the TXWARN bits are set + + + + Receive Buffer 0 has not overflowed + + + + Receive Buffer 1 has not overflowed + + + + Receive error counter LESS OR EQUAL THAN 127 + + + + Receive Buffer n has not overflowed + + + + Receive error counter LESS OR EQUAL THAN 95 + + + + Transmit error counter LESS OR EQUAL THAN 255 + + + + Transmit error counter LESS OR EQUAL THAN 127 + + + + Transmit error counter LESS OR EQUAL THAN 95 + + + + Receive Buffer 0 + + + + FIF0 Interrupt when four receive buffer remains + + + + Enhanced FIFO mode( Mode 2) + + + + enabled + + + + disabled + + + + -1 + + + + 1 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Mask 0 + + + + Acceptance Filter 0 (RXF0) + + + + 0 + + + + Allows jump table offset between 1 and 0 + + + + No Receive Buffer 0 overflow to Receive Buffer 1 + + + + Receive buffer is open to receive a new message + + + + A remote transmission request is not received + + + + Receive all valid messages as per acceptance filters + + + + A remote transmission request is not received + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Receive buffer is open to receive a new message + + + + A remote transmission request is not received + + + + Receive all valid messages as per acceptance filters + + + + A remote transmission request is not received + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + enabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Filter will only accept standard ID messages + + + + 0 + + + + 0 + + + + 0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + RXB0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Both standard and extended identifier messages will be accepted + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Both standard and extended identifier messages will be accepted + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Message was not aborted + + + + Transmit buffer has not completed transmission of a message + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + Priority Level 0 (lowest priority) + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + Transmitted message will have the TXRTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Message will transmit standard ID + + + + 0 + + + + 0 + + + + 0 + + + + Message was not aborted + + + + Transmit buffer has not completed transmission of a message + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + Priority Level 0 (lowest priority) + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + Transmitted message will have the TXRTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Message will transmit standard ID + + + + 0 + + + + 0 + + + + 0 + + + + Message was not aborted + + + + Transmit buffer has not completed transmission of a message + + + + A bus error did not occur while the message was being sent + + + + Message did not lose arbitration while being sent + + + + Priority Level 0 (lowest priority) + + + + Automatically cleared when the message is successfully sent + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Data length = 0 bytes + + + + Transmitted message will have the TXRTR bit cleared + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + Message will transmit standard ID + + + + 0 + + + + 0 + + + + 0 + + + + Transmit buffer interrupt is disabled + + + + Transmit buffer interrupt is disabled + + + + Transmit buffer interrupt is disabled + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + + + + + 64000000 + + + + Oscillator not enabled + + + + HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1 + + + + 64_MHz + + + + 1000000 + + + + 64000000 + + + + 64000000 + + + + 31000 + + + + 31250 + + + + 500000 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + internal + + + + OFF + + + + PRESENT + + + + disabled + + + + disabled + + + + 0 + + + + 7 + + + + 4 + + + + 1 + + + + 8 + + + + 5 + + + + 2 + + + + 9 + + + + 6 + + + + 3 + + + + 7 + + + + 2 + + + + 6 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 0 + + + + 1 + + + + 6 + + + + 7 + + + + 2 + + + + 8 + + + + 3 + + + + 96 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 1 + + + + HFINTOSC + + + + may proceed + + + + not ready + + + + clock switching + + + + Low power + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 64_MHz + + + + 0 + + + + 8 + + + + IVT1 + + + + disabled + + + + disabled + + + + enabled + + + + enabled + + + + 65536 + + + + 128 + + + + ISR + + + + 128 + + + + enabled + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + write + + + + access_data_eeprom + + + + do_not_initiate_read + + + + write_complete + + + + disabled + + + + normal_completion + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + -1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + CLKR enabled + + + + CRC enabled + + + + FVR enabled + + + + HLVD enabled + + + + IOC enabled + + + + NVM enabled + + + + SCANNER enabled + + + + SYSCLK enabled + + + + DDS(NCO1) enabled + + + + TMR0 enabled + + + + TMR1 enabled + + + + TMR2 enabled + + + + TMR3 enabled + + + + TMR4 enabled + + + + TMR5 enabled + + + + TMR6 enabled + + + + ADC enabled + + + + CMP1 enabled + + + + CMP2 enabled + + + + DAC enabled + + + + ZCD enabled + + + + CCP1 enabled + + + + CCP2 enabled + + + + CCP3 enabled + + + + CCP4 enabled + + + + PWM5 enabled + + + + PWM6 enabled + + + + PWM7 enabled + + + + PWM8 enabled + + + + CWG1 enabled + + + + CWG2 enabled + + + + CWG3 enabled + + + + I2C1 enabled + + + + I2C2 enabled + + + + SPI1 enabled + + + + UART1 enabled + + + + UART2 enabled + + + + CLC1 enabled + + + + CLC2 enabled + + + + CLC3 enabled + + + + CLC4 enabled + + + + DSM1 enabled + + + + SMT1 enabled + + + + SMT2 enabled + + + + DMA1 enabled + + + + DMA2 enabled + + + + OUTPUT1 + + + + OUTPUT2 + + + + OUTPUT3 + + + + OUTPUT4 + + + + OUTPUT5 + + + + OUTPUT6 + + + + OUTPUT7 + + + + OUTPUT8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ISR_Pin Module_IOCI + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + %DESELECT% + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + SOIC28 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 12 + + + + 0 + + + + 238 + + + + 255 + + + + 12 + + + + 18 + + + + 17 + + + + 13 + + + + 8 + + + + 0 + + + + 1 + + + + 14 + + + + 15 + + + + 8 + + + + 9 + + + + 10 + + + + 19 + + + + 20 + + + + 9 + + + + 2 + + + + 255 + + + + 255 + + + + 255 + + + + 8 + + + + 8 + + + + 9 + + + + 10 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 4 + + + + 3 + + + + 5 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 51 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 255 + + + + 255 + + + + 255 + + + + 17 + + + + 16 + + + + 13 + + + + 12 + + + + 19 + + + + 20 + + + + 5 + + + + 4 + + + + 16 + + + + 13 + + + + 19 + + + + 16 + + + + 16 + + + + 21 + + + + 18 + + + + 12 + + + + 15 + + + + 0 + + + + 246 + + + + 255 + + + + 22 + + + + 23 + + + + 14 + + + + 15 + + + + 128 + + + + 0 + + + + 0 + + + + 0 + + + + 12 + + + + digital + + + + digital + + + + digital + + + + digital + + + + digital + + + + digital + + + + digital + + + + digital + + + + digital + + + + analog + + + + analog + + + + analog + + + + digital + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + 12 + + + + 18 + + + + 17 + + + + 13 + + + + 8 + + + + 0 + + + + 1 + + + + 14 + + + + 15 + + + + 8 + + + + 9 + + + + 10 + + + + 19 + + + + 20 + + + + 9 + + + + 2 + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + ST_input + + + + 8 + + + + 9 + + + + 10 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 1 + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + 4 + + + + 3 + + + + 5 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 51 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + limited + + + + 17 + + + + 16 + + + + 13 + + + + 12 + + + + 19 + + + + 20 + + + + 5 + + + + 4 + + + + 16 + + + + 13 + + + + 19 + + + + 16 + + + + 16 + + + + 21 + + + + 18 + + + + 12 + + + + 15 + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + input + + + + input + + + + output + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + 22 + + + + 23 + + + + 14 + + + + 15 + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + set + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + 31.0 KHz + + + + enabled + + + + 1 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 32 + + + + 0 + + + + 2 + + + + 7 + + + + 5 + + + + 6 + + + + 2 + + + + 0 + + + + 4 + + + + 3 + + + + 1 + + + + 112 + + + + 32 + + + + 96 + + + + 0 + + + + 80 + + + + 16 + + + + 64 + + + + 3 + + + + 1 + + + + 0 + + + + 32 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 16 + + + + 128 + + + + 0 + + + + 4 + + + + 0 + + + + 128 + + + + 0 + + + + 64 + + + + 192 + + + + 0 + + + + 16 + + + + 32 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 2 + + + + 4 + + + + 6 + + + + 0 + + + + 8 + + + + 56 + + + + 16 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 2 + + + + 3 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 64 + + + + 0 + + + + 96 + + + + 32 + + + + 0 + + + + 32 + + + + 1 + + + + 0 + + + + 2 + + + + 0 + + + + 4 + + + + 0 + + + + 8 + + + + 0 + + + + 8 + + + + 0 + + + + 6 + + + + 5 + + + + 4 + + + + 7 + + + + 3 + + + + 16 + + + + 0 + + + + 128 + + + + 0 + + + + 1 + + + + 0 + + + + 43 + + + + 4 + + + + 191 + + + + 247 + + + + 63 + + + + 31 + + + + 47 + + + + 159 + + + + 1 + + + + OFF + + + + ON + + + + ON + + + + ON + + + + OFF + + + + HFINTOSC_64MHZ + + + + VBOR_2P45 + + + + OFF + + + + ON + + + + ON + + + + OFF + + + + OFF + + + + SBORDIS + + + + ON + + + + OFF + + + + EXTMCLR + + + + OFF + + + + PWRT_OFF + + + + SC + + + + WDTCWS_7 + + + + WDTCPS_31 + + + + OFF + + + + ON + + + + OFF + + + + OFF + + + + OFF + + + + OFF + + + + OFF + + + + BBSIZE_512 + + + + OFF + + + + OFF + + + + OFF + + + + 0 + + + + ISR + + + + 0.01 + + + + 64000000 + + + + 100000 + + + + periodMode + + + + 0.01024 + + + + 0.00004 + + + + 10 + + + + 64 + + + + 25000 + + + + 0.01 + + + + disabled + + + + 0 + + + + enabled + + + + 8-bit + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 1 + + + + 0 + + + + 0 + + + + 10 + + + + 7 + + + + 4 + + + + 14 + + + + 1 + + + + 11 + + + + 8 + + + + 5 + + + + 15 + + + + 2 + + + + 12 + + + + 9 + + + + 6 + + + + 3 + + + + 13 + + + + 7 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 0 + + + + 1 + + + + 137 + + + + 70 + + + + 249 + + + + 0 + + + + 8-bit + + + + enabled + + + + low + + + + 1:10 + + + + synchronised + + + + 1:64 + + + + FOSC/4 + + + + 249 + + + + 0 + + + + enabled + + + + disabled + + + + -1 + + + + 1 + + + + 2.11406 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 5 + + + + 15 + + + + 2 + + + + 12 + + + + 9 + + + + 6 + + + + 16 + + + + 3 + + + + 13 + + + + 0 + + + + 10 + + + + 7 + + + + 17 + + + + 4 + + + + 14 + + + + 1 + + + + 11 + + + + 8 + + + + 18 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 7 + + + + 6 + + + + 5 + + + + 4 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 48 + + + + 0 + + + + 0 + + + + WDT reset has not occurred + + + + WDT window violation reset has not occurred + + + + 1:32 + + + + OFF + + + + LFINTOSC 31kHz + + + + Window delay time 87.5% + + + + + mcc_generated_files\interrupt_manager.h + 313560861c27e0a0b39b2bbb6a64ac2068fd1937dc0339d7303ff241bbb52955 + + + mcc_generated_files\mcc.h + aead6835bc73f4332d9abb5de6c2a40829de25cc98452c4c69960d51b52844e9 + + + mcc_generated_files\device_config.h + 2f04b3ff01bbe49769634d389433c7010ffb45d0f2973898e33988be7ab07d56 + + + mcc_generated_files\memory.c + ae2dbb373f8f03dd013cde153de046ba7c3c41033c1dedb8545cde41837ca3da + + + mcc_generated_files\tmr0.h + 68e2ba0f47166abd2da1a472d6a67bfde31f9be3edc8582ace93062a6a32f441 + + + main.c + 91afd5df6694cfcd0279d66d9b5b3eb72a9c4eae825f0c0af82824e2ee66e35e + + + mcc_generated_files\device_config.c + 4288704a051756dce8bb92e77a82ba1285fc638cde56b3676b59406ba0fcea7b + + + mcc_generated_files\pin_manager.h + 3e61569926ed5f184a2267965f2cf7ca26dc997d552c213ebd94dbd80da54891 + + + mcc_generated_files\tmr0.c + f9702dc8c67433ffc3b8db9e12ee3a73fb0b152a792d26f6c7a89a3846bc4fc9 + + + mcc_generated_files\pin_manager.c + f8ace8a0b0d2a4f0ed3e209db056da57858e5a670ad7d514e44352d9187be806 + + + mcc_generated_files\ecan.c + b60a119876875a2af386474d32176b8be0f47a074a2d8688e79251a2d7cdf6fa + + + mcc_generated_files\interrupt_manager.c + bb0eaf9aec0554de0106cff27f66e56ae02a40bbdcb68d4d58d8a0d84d8929f6 + + + mcc_generated_files\mcc.c + 34fadc3a271040b358215ec477acf3e135b77137f9a1cc96def75fc2936d3ad6 + + + mcc_generated_files\ecan.h + 0473fedf57d1376193e049ba507abed0960af84f0e416bea25972c4dae59ca26 + + + mcc_generated_files\memory.h + 77a34d015c961db9ed465b4ca2d85ba910fb030ca14c3c2854428ab0b9b6fac2 + + + \ No newline at end of file From a360586503bd41360fb94f78a8246083472b624e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 17:36:30 +0200 Subject: [PATCH 13/20] fix alive uml --- UML/alive.uxf | 64 +++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/UML/alive.uxf b/UML/alive.uxf index b947a1e..e54aa37 100644 --- a/UML/alive.uxf +++ b/UML/alive.uxf @@ -4,8 +4,8 @@ UMLSpecialState - 735 - 45 + 510 + 30 30 30 @@ -15,8 +15,8 @@ Relation - 735 - 60 + 510 + 45 90 105 @@ -27,8 +27,8 @@ evInit UMLState - 615 - 135 + 390 + 120 285 90 @@ -40,8 +40,8 @@ evInit Relation - 735 - 210 + 510 + 195 105 105 @@ -52,8 +52,8 @@ evBorn UMLState - 615 - 285 + 390 + 270 285 90 @@ -65,8 +65,8 @@ evBorn UMLState - 615 - 435 + 390 + 420 285 120 @@ -80,8 +80,8 @@ isAlive = false Relation - 735 - 360 + 510 + 345 120 105 @@ -92,8 +92,8 @@ evReady UMLState - 615 - 735 + 390 + 720 285 90 @@ -105,8 +105,8 @@ evReady Relation - 735 - 540 + 510 + 525 105 105 @@ -117,8 +117,8 @@ evPoll UMLSpecialState - 720 - 615 + 495 + 600 60 60 @@ -128,8 +128,8 @@ evPoll Relation - 735 - 660 + 510 + 645 90 105 @@ -140,8 +140,8 @@ m1=[else] Relation - 540 - 480 + 315 + 465 210 210 @@ -152,8 +152,8 @@ m1=[isAlive] Relation - 885 - 150 + 660 + 135 210 405 @@ -164,8 +164,8 @@ evDisable Relation - 480 - 315 + 255 + 300 300 600 @@ -176,8 +176,8 @@ evBorn Relation - 885 - 510 + 660 + 495 120 315 @@ -187,8 +187,8 @@ evBorn Relation - 885 - 330 + 660 + 315 120 45 From 792625bab121139f4ea7107a5bb938fb132d4b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 18:23:11 +0200 Subject: [PATCH 14/20] move eeprom --- .../app/factory/factory.h | 2 +- .../{eeprom_interface.c => eeprom.c} | 18 +++++++++--------- .../{eeprom_interface.h => eeprom.h} | 0 .../nbproject/configurations.xml | 7 ++++--- 4 files changed, 14 insertions(+), 13 deletions(-) rename 306-controller_interface.X/middleware/{eeprom_interface.c => eeprom.c} (92%) rename 306-controller_interface.X/middleware/{eeprom_interface.h => eeprom.h} (100%) diff --git a/306-controller_interface.X/app/factory/factory.h b/306-controller_interface.X/app/factory/factory.h index 7b21e07..b847d38 100644 --- a/306-controller_interface.X/app/factory/factory.h +++ b/306-controller_interface.X/app/factory/factory.h @@ -19,7 +19,7 @@ #include "../../middleware/alive_checker.h" #include "../../middleware/can_interface.h" #include "../../middleware/watchdog.h" -#include "../../middleware/eeprom_interface.h" +#include "../../middleware/eeprom.h" typedef struct { diff --git a/306-controller_interface.X/middleware/eeprom_interface.c b/306-controller_interface.X/middleware/eeprom.c similarity index 92% rename from 306-controller_interface.X/middleware/eeprom_interface.c rename to 306-controller_interface.X/middleware/eeprom.c index 657329c..48c8a58 100644 --- a/306-controller_interface.X/middleware/eeprom_interface.c +++ b/306-controller_interface.X/middleware/eeprom.c @@ -5,7 +5,7 @@ * @file eeprom_interface.h */ -#include "eeprom_interface.h" +#include "eeprom.h" #include "../app/car.h" typedef union { @@ -33,20 +33,20 @@ void MEM_init(){ CAR_CST.JOYSTICK_MODE = 0; CAR_CST.JOYSTICK_PARAM1 = 100; CAR_CST.JOYSTICK_PARAM2 = 1; - CAR_CST.JOYSTICK_ALIVE_TIME = 50; + CAR_CST.JOYSTICK_ALIVE_TIME = 10; - CAR_CST.DISPLAY_ALIVE_TIME = 0; + CAR_CST.DISPLAY_ALIVE_TIME = 50; CAR_CST.DRIVE_SPEED_TIME = 0; CAR_CST.DRIVE_STOP_TIME = 0; - CAR_CST.DRIVE_ALIVE_TIME = 0; + CAR_CST.DRIVE_ALIVE_TIME = 10; - CAR_CST.STEERING_ALIVE_TIME = 0; + CAR_CST.STEERING_ALIVE_TIME = 100; - CAR_CST.BATTERY_VOLT_TIME = 0; - CAR_CST.BATTERY_CURRENT_TIME = 0; - CAR_CST.BATTERY_ENERGY_TIME = 0; - CAR_CST.BATTERY_ALIVE_TIME = 0; + CAR_CST.BATTERY_VOLT_TIME = 50; + CAR_CST.BATTERY_CURRENT_TIME = 50; + CAR_CST.BATTERY_ENERGY_TIME = 50; + CAR_CST.BATTERY_ALIVE_TIME = 50; MEM_write_1_byte(MEMADD_CONTROL_STEERING_MODE, CAR_CST.CONTROL_STEERING_MODE); MEM_write_1_byte(MEMADD_CONTROL_ALIVE_TIME, CAR_CST.CONTROL_ALIVE_TIME); diff --git a/306-controller_interface.X/middleware/eeprom_interface.h b/306-controller_interface.X/middleware/eeprom.h similarity index 100% rename from 306-controller_interface.X/middleware/eeprom_interface.h rename to 306-controller_interface.X/middleware/eeprom.h diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index fcd71c2..8a70ed6 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -27,7 +27,7 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h - middleware/eeprom_interface.h + middleware/eeprom.h xf/event.h @@ -64,7 +64,7 @@ middleware/can_interface.c middleware/alive_checker.c middleware/watchdog.c - middleware/eeprom_interface.c + middleware/eeprom.c xf/event.c @@ -94,7 +94,7 @@ PICkit3PlatformTool XC8 2.41 - 3 + 2 @@ -216,6 +216,7 @@ + From 3de64a329cd22bff94e902d579be27af650b6074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 21:17:18 +0200 Subject: [PATCH 15/20] add alive.pdf --- UML/alive.pdf | Bin 0 -> 2639 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 UML/alive.pdf diff --git a/UML/alive.pdf b/UML/alive.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75b99e57b0615e294c094164e6f3c290aa07eb5b GIT binary patch literal 2639 zcmai0d0Z3M7Pha5{!&H64N-6qF`z(ZvXBHJ$_@gGK_dYogk%yEF_C0K0RaWn!UIvU zLGJGWm5r-aY04Y&d|JKEx-5fKXdN+&Y5%0ch6m{13kR# zAqO(fx~u!fO&lEn0coTd=j=@Ihb2N}BLI=;M1q$n3V~$=uP818d%!#?A7(J*hz#a# z#>M9U791d*M>Vd~o_Sc|f&|EDEpW2MVCPh3;cniEW_7b`PH%_W%hk@x^JAir7Uu9| zWyQVOtW5?L_Xq7R-v4QC_InjQm-374;Ne`3BfhFn@lw@xyecHIF#Oc6D~g+h1pkEHK{>R68TP1`oVdLEv{@X+pvYJ2wZ za?Kj;ZL;&H+Qg=5cFW5{&K*1X3 z6h8S`)^*kH=n;#JuI?TU-`j3~TODMmOHLoCWSkB@IYINax_*;-DX;u#UD4%vo8GC` zWL&v6qiFGpyI=9 z6`j3yd*+b?3ggW$8_)Vbx%&DW_Qk!gH`T5=HzQ@z%*_2MYPaclG6wQ~e-Tr|%;45H#brhaBd4=_czi;N_ei(AYiB=TR%@#kW*wrmJtH3AO=QaXE;;0#KL#RWu zr)IA;!@q0jC_DIT*GF^RHmDo#aw`;fhEx$8kG899ON4euW9YT*J`?SisTNIs$am4b z-XU!M1Y2kFt>cF0rb)YA3cX7)Xp1E4fjhf^KKXx_|FN`F- z(#3?Y+h3acvsM?E+h)A)UPAGCqKVe)5c?wAuhb>J?be10x>?zf+1<{pp@voYcPLI% z1{>&_v(UjVr6>MM<9prp_>b?)&$JjFGX5r~J*DfY3+!BcdP2F%{}3ao$d^8dPqo!; z)7|M5x~pDXwH22I`7_@=-uI~R+ch<9h@ou6{@Bx-?2s1r@WS7S51#4LA|gHEHF?1l ztIBS5;fg%5c=%PwEc0$;;SGbUTAPl+Oz!LAZtn2Oz70rUt544PV9nWtf=2do6X6G+ z{B|qO#22CIRlz3SIrTuRn`hXt!RkiqCP|~Ng;%z<-mJ`j`3KsRtvyB_NL`_8pfV)6 zI>V^{@M#nCTScjMPO+JfCuA&1w`f`tSDhc8bjK=gRrAXfL)Sx<|Jsbdv971)-_Gmz zKO)9GgL-N{b<|sEm(|?jIw%f4S@KIvSNTGtrCsHVjY!dNO}om0RwVuWfq9JT%ugQ; zkl!myaIl20KYCFKJF6jR?9g5tw*@8ya)mG<0OpIhZqnFL5Jkz3AmB&@IRqvwmnvjD zSdJd>UQ!8yeIS5>nlKp*f@dt^9fY7~JgW8%f&lEtOjIHQM7=};NP3A3ko6J;aMVkV z097wh0U9PT&_QrVO`4q%rH6U|PB&HxC@3pK#%!K%P=(BC|xMPS(xf)tSmRuQIw z2yR?CJgWAAqher0#N!e?CFo@&k_ZXwMG{wuT=d`h*ndAGhsOoLF#t5x^jm5x77y~{Fj?aOTY@|K4nR=Z18p1|4<{l>B!M&{4WdJ2B4sH^#DgH-mJlH2 z|4)OlYGP%u00#mP8HeVeAAlo;LZScyK(B+Sj_AT-1CacsqhZ8+p`(wZqmAS1NJUBc z!k0=zd*llpjWmw#pLQS!p$+|oFMS+eGIbm~8oE>d?n?we_eEq}Q4}o0UTHz1co?OM zz?4eS{`hm7`bq>+^xcNG7?a@Z0fah7LXi-eB7g;4vH&7Q5 Date: Mon, 28 Aug 2023 21:17:42 +0200 Subject: [PATCH 16/20] Update configurations.xml --- 306-controller_interface.X/nbproject/configurations.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 8a70ed6..3dc5c26 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -8,6 +8,7 @@ app/factory/factory.h app/car.h app/can_message.h + middleware/eeprom.h board/led/led.h @@ -27,7 +28,6 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h - middleware/eeprom.h xf/event.h @@ -45,6 +45,7 @@ app/factory/factory.c app/can_message.c + middleware/eeprom.c board/led/led.c @@ -64,7 +65,6 @@ middleware/can_interface.c middleware/alive_checker.c middleware/watchdog.c - middleware/eeprom.c xf/event.c From fbd207c02e69ae912459fd79ed4b91296c1aa93f Mon Sep 17 00:00:00 2001 From: Klagarge Date: Mon, 28 Aug 2023 21:27:11 +0200 Subject: [PATCH 17/20] update can sequence --- UML/can.puml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/UML/can.puml b/UML/can.puml index fcb0a14..b574624 100644 --- a/UML/can.puml +++ b/UML/can.puml @@ -1,15 +1,29 @@ @startuml +actor CAN_BUS as bus participant interrupt as ISR -participant ecan as ecan queue XF as xf +participant ecan as ecan participant can_interface as can +control can_message as msg -[-\\ ISR ++ : can message -ISR -> ecan : read -ecan --> ISR : message -ISR -> xf --: POST XF -xf o-> can : +bus -\\ ISR ++ : can message +ISR -> can : newMsg +can -> ecan : read +ecan --> can : message +can -> xf : POST XF +destroy ISR + group clock xf [every 10ms] +xf o-> can : receiveCan +can -> msg : processIncome +msg -> can : create message +can -> xf : POST XF + end + group clock xf [every 10ms] +xf o-> can : sendCan +can -> ecan : write +ecan -\\ bus : can message + end @enduml \ No newline at end of file From ef36b21ad4fa112bc7534595c5cdc64fddd60f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 28 Aug 2023 21:17:18 +0200 Subject: [PATCH 18/20] add alive.pdf --- UML/alive.pdf | Bin 0 -> 2639 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 UML/alive.pdf diff --git a/UML/alive.pdf b/UML/alive.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75b99e57b0615e294c094164e6f3c290aa07eb5b GIT binary patch literal 2639 zcmai0d0Z3M7Pha5{!&H64N-6qF`z(ZvXBHJ$_@gGK_dYogk%yEF_C0K0RaWn!UIvU zLGJGWm5r-aY04Y&d|JKEx-5fKXdN+&Y5%0ch6m{13kR# zAqO(fx~u!fO&lEn0coTd=j=@Ihb2N}BLI=;M1q$n3V~$=uP818d%!#?A7(J*hz#a# z#>M9U791d*M>Vd~o_Sc|f&|EDEpW2MVCPh3;cniEW_7b`PH%_W%hk@x^JAir7Uu9| zWyQVOtW5?L_Xq7R-v4QC_InjQm-374;Ne`3BfhFn@lw@xyecHIF#Oc6D~g+h1pkEHK{>R68TP1`oVdLEv{@X+pvYJ2wZ za?Kj;ZL;&H+Qg=5cFW5{&K*1X3 z6h8S`)^*kH=n;#JuI?TU-`j3~TODMmOHLoCWSkB@IYINax_*;-DX;u#UD4%vo8GC` zWL&v6qiFGpyI=9 z6`j3yd*+b?3ggW$8_)Vbx%&DW_Qk!gH`T5=HzQ@z%*_2MYPaclG6wQ~e-Tr|%;45H#brhaBd4=_czi;N_ei(AYiB=TR%@#kW*wrmJtH3AO=QaXE;;0#KL#RWu zr)IA;!@q0jC_DIT*GF^RHmDo#aw`;fhEx$8kG899ON4euW9YT*J`?SisTNIs$am4b z-XU!M1Y2kFt>cF0rb)YA3cX7)Xp1E4fjhf^KKXx_|FN`F- z(#3?Y+h3acvsM?E+h)A)UPAGCqKVe)5c?wAuhb>J?be10x>?zf+1<{pp@voYcPLI% z1{>&_v(UjVr6>MM<9prp_>b?)&$JjFGX5r~J*DfY3+!BcdP2F%{}3ao$d^8dPqo!; z)7|M5x~pDXwH22I`7_@=-uI~R+ch<9h@ou6{@Bx-?2s1r@WS7S51#4LA|gHEHF?1l ztIBS5;fg%5c=%PwEc0$;;SGbUTAPl+Oz!LAZtn2Oz70rUt544PV9nWtf=2do6X6G+ z{B|qO#22CIRlz3SIrTuRn`hXt!RkiqCP|~Ng;%z<-mJ`j`3KsRtvyB_NL`_8pfV)6 zI>V^{@M#nCTScjMPO+JfCuA&1w`f`tSDhc8bjK=gRrAXfL)Sx<|Jsbdv971)-_Gmz zKO)9GgL-N{b<|sEm(|?jIw%f4S@KIvSNTGtrCsHVjY!dNO}om0RwVuWfq9JT%ugQ; zkl!myaIl20KYCFKJF6jR?9g5tw*@8ya)mG<0OpIhZqnFL5Jkz3AmB&@IRqvwmnvjD zSdJd>UQ!8yeIS5>nlKp*f@dt^9fY7~JgW8%f&lEtOjIHQM7=};NP3A3ko6J;aMVkV z097wh0U9PT&_QrVO`4q%rH6U|PB&HxC@3pK#%!K%P=(BC|xMPS(xf)tSmRuQIw z2yR?CJgWAAqher0#N!e?CFo@&k_ZXwMG{wuT=d`h*ndAGhsOoLF#t5x^jm5x77y~{Fj?aOTY@|K4nR=Z18p1|4<{l>B!M&{4WdJ2B4sH^#DgH-mJlH2 z|4)OlYGP%u00#mP8HeVeAAlo;LZScyK(B+Sj_AT-1CacsqhZ8+p`(wZqmAS1NJUBc z!k0=zd*llpjWmw#pLQS!p$+|oFMS+eGIbm~8oE>d?n?we_eEq}Q4}o0UTHz1co?OM zz?4eS{`hm7`bq>+^xcNG7?a@Z0fah7LXi-eB7g;4vH&7Q5 Date: Mon, 28 Aug 2023 21:17:42 +0200 Subject: [PATCH 19/20] Update configurations.xml --- 306-controller_interface.X/nbproject/configurations.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/306-controller_interface.X/nbproject/configurations.xml b/306-controller_interface.X/nbproject/configurations.xml index 8a70ed6..3dc5c26 100644 --- a/306-controller_interface.X/nbproject/configurations.xml +++ b/306-controller_interface.X/nbproject/configurations.xml @@ -8,6 +8,7 @@ app/factory/factory.h app/car.h app/can_message.h + middleware/eeprom.h board/led/led.h @@ -27,7 +28,6 @@ middleware/can_interface.h middleware/alive_checker.h middleware/watchdog.h - middleware/eeprom.h xf/event.h @@ -45,6 +45,7 @@ app/factory/factory.c app/can_message.c + middleware/eeprom.c board/led/led.c @@ -64,7 +65,6 @@ middleware/can_interface.c middleware/alive_checker.c middleware/watchdog.c - middleware/eeprom.c xf/event.c From 59edb49d5cdd128478c1ae09a23939f370ecb45c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Tue, 29 Aug 2023 08:31:52 +0200 Subject: [PATCH 20/20] fix filters comments --- .../mcc_generated_files/ecan.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/306-controller_interface.X/mcc_generated_files/ecan.c b/306-controller_interface.X/mcc_generated_files/ecan.c index 8b2c89b..e1bfd4d 100644 --- a/306-controller_interface.X/mcc_generated_files/ecan.c +++ b/306-controller_interface.X/mcc_generated_files/ecan.c @@ -130,17 +130,21 @@ void ECAN_Initialize(void) /* * ENABLE FILTERS * - * Filter 0 set on mask 0 - * Filter 1 set on mask 0 - * Filter 2 set on mask 1 + * RXF7EN RXF6EN RXF5EN RXF4EN RXF3EN RXF2EN RXF1EN RXF0EN + * 0b 00000111 */ RXFCON0 = 0x07; - /** - Assign Filters to Masks - */ - // Filter 0 & 1 assigned to mask 0 and filter 2 assigned to mask 1 + /* + * Assign Filters to Masks + * + * Filter 0 set on mask 0 + * Filter 1 set on mask 0 + * Filter 2 set on mask 1 + * 0b F3 F2 F1 F0 + * 0b 00 01 00 00 + */ MSEL0 = 0x10; /**