From 539703691813d456d381187d9fc3a8c6a7a0c44d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Fri, 10 Mar 2023 13:23:14 +0100 Subject: [PATCH 1/8] read 1 byte and detect end frame: done --- main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index de0ff6a..f324d9a 100644 --- a/main.c +++ b/main.c @@ -104,12 +104,18 @@ void main(void) void resetTMR0(void){ - INTCONbits.TMR0IF = 0; + volatile uint8_t dummy; + dummy = EUSART1_Read(); + + TMR0_Reload(); TMR0_StartTimer(); } void endFrame(void){ + + + INTCONbits.TMR0IF = 0; TMR0_StopTimer(); modbus_analyse_and_answer(); From 5e1a03551771be2f66687c0a5574e4147b2c4146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Fri, 10 Mar 2023 13:39:55 +0100 Subject: [PATCH 2/8] full reading done --- main.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/main.c b/main.c index f324d9a..7d192b5 100644 --- a/main.c +++ b/main.c @@ -53,6 +53,9 @@ void resetTMR0(void); void endFrame(void); +uint8_t nRxByte = 0; +extern uint8_t rx_buf[256]; + void main(void) { // Initialize the device @@ -104,18 +107,14 @@ void main(void) void resetTMR0(void){ - volatile uint8_t dummy; - dummy = EUSART1_Read(); - - + rx_buf[nRxByte++] = RCREG1; TMR0_Reload(); TMR0_StartTimer(); } void endFrame(void){ - - INTCONbits.TMR0IF = 0; + nRxByte = 0; TMR0_StopTimer(); modbus_analyse_and_answer(); From d7d1d7021c38431a96cfc26d9bfba2ecb72f544f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Fri, 10 Mar 2023 13:49:32 +0100 Subject: [PATCH 3/8] refactor for reading modbus --- modbus.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/modbus.c b/modbus.c index c6c8523..e3113fb 100644 --- a/modbus.c +++ b/modbus.c @@ -15,6 +15,7 @@ uint8_t modbusAddress; uint16_t input_registers[2]; uint16_t holding_registers[2]; + // Modbus error codes #define ILLEGAL_FUNCTION 1 #define ILLEGAL_DATA_ADDRESS 2 @@ -33,7 +34,10 @@ uint8_t recPtr = 0; void modbus_timer(void) { - // TODO -> complete what to do on modbus timer event + INTCONbits.TMR0IF = 0; + recPtr = 0; + TMR0_StopTimer(); + modbus_analyse_and_answer(); } @@ -41,13 +45,15 @@ uint8_t modbus_analyse_and_answer(void) { // TODO -> complete the modbus analyse and answer rx_buf[0] = 0; - //sprintf(tx_buf, "%i", modbusAddress, ); + // sprintf(tx_buf, "%i", modbusAddress, ); } -void modbus_char_recvd(uint8_t c) +void modbus_char_recvd(void) { - // TODO -> complete modbus char receive + rx_buf[recPtr++] = RCREG1; + TMR0_Reload(); + TMR0_StartTimer(); } void modbus_send(uint8_t length) @@ -65,5 +71,6 @@ void modbus_send(uint8_t length) void modbus_init(uint8_t address) { modbusAddress = address; - // TODO -> confikre timer for modbus usage -} \ No newline at end of file + EUSART1_SetRxInterruptHandler(modbus_char_recvd); + TMR0_SetInterruptHandler(modbus_timer); +} From 9b271afdb29edec13191f4b8847a171b8d87531f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Fri, 10 Mar 2023 15:13:26 +0100 Subject: [PATCH 4/8] answer build for voltage register --- modbus.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/modbus.c b/modbus.c index e3113fb..e1b789c 100644 --- a/modbus.c +++ b/modbus.c @@ -40,12 +40,34 @@ void modbus_timer(void) modbus_analyse_and_answer(); } - +extern uint16_t measure_voltage(); uint8_t modbus_analyse_and_answer(void) { // TODO -> complete the modbus analyse and answer + if(rx_buf[0] == modbusAddress){ + tx_buf[0] = rx_buf[0]; + tx_buf[1] = rx_buf[1]; + + switch(rx_buf[1]){ + case READ_INPUT_REGISTERS: + tx_buf[2] = 2; + tx_buf[4] = input_registers[0]; + tx_buf[3] = input_registers[0]>>8; + // todo choose register + break; + case READ_HOLDING_REGISTERS: + //todo + break; + case WRITE_SINGLE_REGISTER: + //todo + break; + // todo CRC + } + + + } rx_buf[0] = 0; - // sprintf(tx_buf, "%i", modbusAddress, ); + // } From 2c949062dc08b1440d49d61a7833c64943d1540a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Fri, 10 Mar 2023 16:06:17 +0100 Subject: [PATCH 5/8] i still don't understand why MPlab don't commit this shit ! --- main.c | 26 ++------ mcc_generated_files/eusart1.c | 4 +- mcc_generated_files/tmr0.c | 4 +- modbus.c | 18 ++--- modbus.h | 4 +- nbproject/Makefile-genesis.properties | 4 +- nbproject/configurations.xml | 96 +++++++++++++++++++++++++++ nbproject/private/configurations.xml | 2 +- nbproject/private/private.xml | 13 ++-- solar_panel.mc3 | 28 ++++---- 10 files changed, 137 insertions(+), 62 deletions(-) diff --git a/main.c b/main.c index 7d192b5..9c90edb 100644 --- a/main.c +++ b/main.c @@ -50,12 +50,8 @@ /* Main application */ -void resetTMR0(void); -void endFrame(void); - -uint8_t nRxByte = 0; -extern uint8_t rx_buf[256]; +extern uint16_t input_registers[2]; void main(void) { // Initialize the device @@ -84,13 +80,13 @@ void main(void) // Disable the Peripheral Interrupts //INTERRUPT_PeripheralInterruptDisable(); uint16_t foo = 512; - EUSART1_SetRxInterruptHandler(resetTMR0); - TMR0_SetInterruptHandler(endFrame); + while (1) { foo = ++foo%1023; EPWM1_LoadDutyValue(foo); - uint16_t valueV = measure_voltage(); + input_registers[0] = measure_voltage(); + uint16_t valueV = input_registers[0]; uint16_t valueI = measure_current(offsetCurrent); char msg[MAX_COL+1]; @@ -106,20 +102,6 @@ void main(void) } -void resetTMR0(void){ - rx_buf[nRxByte++] = RCREG1; - TMR0_Reload(); - TMR0_StartTimer(); -} - -void endFrame(void){ - INTCONbits.TMR0IF = 0; - nRxByte = 0; - TMR0_StopTimer(); - modbus_analyse_and_answer(); - - // TODO -} /** End of File */ \ No newline at end of file diff --git a/mcc_generated_files/eusart1.c b/mcc_generated_files/eusart1.c index 5700d00..17c5184 100644 --- a/mcc_generated_files/eusart1.c +++ b/mcc_generated_files/eusart1.c @@ -93,8 +93,8 @@ void EUSART1_Initialize(void) // SPEN enabled; RX9 9-bit; CREN enabled; ADDEN disabled; SREN disabled; RCSTA1 = 0xD0; - // TX9 9-bit; TX9D 0; SENDB sync_break_complete; TXEN enabled; SYNC asynchronous; BRGH hi_speed; CSRC master_mode; - TXSTA1 = 0xE4; + // TX9 9-bit; TX9D 1; SENDB sync_break_complete; TXEN enabled; SYNC asynchronous; BRGH hi_speed; CSRC master_mode; + TXSTA1 = 0xE5; // SPBRG1 = 0x8A; diff --git a/mcc_generated_files/tmr0.c b/mcc_generated_files/tmr0.c index d2d9627..47f3b28 100644 --- a/mcc_generated_files/tmr0.c +++ b/mcc_generated_files/tmr0.c @@ -90,8 +90,8 @@ void TMR0_Initialize(void) // Set Default Interrupt Handler TMR0_SetInterruptHandler(TMR0_DefaultInterruptHandler); - // T0PS 1:2; T08BIT 16-bit; T0SE Increment_hi_lo; T0CS FOSC/4; TMR0ON enabled; PSA not_assigned; - T0CON = 0x98; + // T0PS 1:2; T08BIT 16-bit; T0SE Increment_hi_lo; T0CS FOSC/4; TMR0ON disabled; PSA not_assigned; + T0CON = 0x18; } void TMR0_StartTimer(void) diff --git a/modbus.c b/modbus.c index e1b789c..a9ed127 100644 --- a/modbus.c +++ b/modbus.c @@ -43,15 +43,17 @@ void modbus_timer(void) extern uint16_t measure_voltage(); uint8_t modbus_analyse_and_answer(void) { // TODO -> complete the modbus analyse and answer + uint8_t length = 0; if(rx_buf[0] == modbusAddress){ - tx_buf[0] = rx_buf[0]; - tx_buf[1] = rx_buf[1]; + tx_buf[0] = rx_buf[0]; // Adress + tx_buf[1] = rx_buf[1]; // Function switch(rx_buf[1]){ case READ_INPUT_REGISTERS: - tx_buf[2] = 2; - tx_buf[4] = input_registers[0]; - tx_buf[3] = input_registers[0]>>8; + tx_buf[2] = 2; // Data length + tx_buf[4] = input_registers[0]; // LSB Data + tx_buf[3] = input_registers[0]>>8; // MSB Data + length = 5; // todo choose register break; case READ_HOLDING_REGISTERS: @@ -66,8 +68,7 @@ uint8_t modbus_analyse_and_answer(void) { } rx_buf[0] = 0; - - // + modbus_send(length); } @@ -80,10 +81,11 @@ void modbus_char_recvd(void) void modbus_send(uint8_t length) { + uint16_t temp16; uint8_t i; - // TODO -> complete modbus RCR calculation + // TODO -> complete modbus crc calculation length += 2; // add 2 CRC bytes for total size // For all the bytes to be transmitted diff --git a/modbus.h b/modbus.h index e1feb9c..2c06fd2 100644 --- a/modbus.h +++ b/modbus.h @@ -45,10 +45,10 @@ void modbus_send(uint8_t length); * This function will be called every time a character has been received on the * Modbus serial port. It is called from the interrupt hander. * - * @param c : the received char + * @param c : the received char // removed ! * @see interrupts.c. */ -void modbus_char_recvd(uint8_t c); +void modbus_char_recvd(void); /** * Modbus timer finished. This function is called by the interrupt handler diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties index 2dac5f0..58b7953 100644 --- a/nbproject/Makefile-genesis.properties +++ b/nbproject/Makefile-genesis.properties @@ -1,11 +1,11 @@ # -#Thu Mar 09 15:57:40 CET 2023 +#Fri Mar 10 16:03:22 CET 2023 default.languagetoolchain.version=2.40 default.Pack.dfplocation=C\:\\Program Files\\Microchip\\MPLABX\\v6.00\\packs\\Microchip\\PIC18F-J_DFP\\1.5.44 conf.ids=default default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc8\\v2.40\\bin host.id=3awj-afwq-rl -configurations-xml=5e78976b44c48e5125d650f70012f653 +configurations-xml=fddef5f935cc83784d98c896c2327263 default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b user-defined-mime-resolver-xml=none diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index f6809b7..8717c5e 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -188,7 +188,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -210,7 +259,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/private/configurations.xml b/nbproject/private/configurations.xml index 20b286a..5a22fab 100644 --- a/nbproject/private/configurations.xml +++ b/nbproject/private/configurations.xml @@ -4,7 +4,7 @@ 0 - :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>9018:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>MPLAB Snap ICD:=<sn>BUR190971772:=<drv>x:=<xpt>b:=end + :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>9018:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>MPLAB Snap ICD:=<sn>BUR190971815:=<drv>x:=<xpt>b:=end C:\Program Files\Microchip\xc8\v2.40\bin place holder 1 diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 2777a27..5e6973e 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -3,15 +3,10 @@ - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/modbus.c - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/measure.c - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/modbus.h - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/main.c - file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/lwmod.c - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/mcc_generated_files/interrupt_manager.c - file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/aomod.c - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/mcc_generated_files/tmr0.c - file:/C:/Users/remi/Downloads/MCU/solar_panel/solar_panel.X/mcc_generated_files/eusart1.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/mcc_generated_files/interrupt_manager.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/main.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/modbus.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/mcc_generated_files/tmr0.c diff --git a/solar_panel.mc3 b/solar_panel.mc3 index 0787f8a..77b8116 100644 --- a/solar_panel.mc3 +++ b/solar_panel.mc3 @@ -1004,7 +1004,7 @@ - 228 + 229 @@ -1124,7 +1124,7 @@ - 0 + 1 @@ -5648,7 +5648,7 @@ - enabled + disabled @@ -5724,7 +5724,7 @@ - 152 + 24 @@ -5748,7 +5748,7 @@ - enabled + disabled @@ -6000,25 +6000,25 @@ mcc_generated_files\tmr2.h 9c49623fe191eb686818b525571464bbc0f83e271367728272f8bce53b917f55 - - mcc_generated_files\tmr2.c - 05c23c08bae910023f51fd801fa4b4107358a34dbad1624e66d9a30249d1fe86 - mcc_generated_files\pin_manager.h 87e93cc6f9494828e660861178e9a299efbe16d73a441d92e3dca2a1cf6d54ed + + mcc_generated_files\tmr2.c + 05c23c08bae910023f51fd801fa4b4107358a34dbad1624e66d9a30249d1fe86 + mcc_generated_files\adc.h 58eb4471903133ed806f7edbfce9c3cc4e0af3536917c8f81ad1cbdb72d919fc - mcc_generated_files\epwm1.h - e1dacec839b43c4ec99f1710c3a7872ce32d2ea6dfe3856eb466e690b7ea75c9 + mcc_generated_files\tmr0.c + 5999b6142463be670db096db3ffefc4be674ac36a27ce3d5bc69c9811eb5c55f - mcc_generated_files\tmr0.c - f8a9d57b93e4810bdf2401ef043ce48c9d645ba81f2241dee96977286f6fb164 + mcc_generated_files\epwm1.h + e1dacec839b43c4ec99f1710c3a7872ce32d2ea6dfe3856eb466e690b7ea75c9 mcc_generated_files\pin_manager.c @@ -6042,7 +6042,7 @@ mcc_generated_files\eusart1.c - d8ed730bd093892491a853d1821faa71f3a66365e71b5728f5d34612524be6ec + 4b28289ec5a9f1dd41eb4000a98bdf15a60c73701c716add6c562a154a431809 \ No newline at end of file From f23af037a573149b3521bbaa6ec38b023ab3f386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Tue, 14 Mar 2023 13:59:35 +0100 Subject: [PATCH 6/8] modbus communication done TODO error modbus --- main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 9c90edb..24a7ef1 100644 --- a/main.c +++ b/main.c @@ -79,12 +79,12 @@ void main(void) // Disable the Peripheral Interrupts //INTERRUPT_PeripheralInterruptDisable(); - uint16_t foo = 512; + while (1) { - foo = ++foo%1023; - EPWM1_LoadDutyValue(foo); + + EPWM1_LoadDutyValue(holding_registers[0]); input_registers[0] = measure_voltage(); uint16_t valueV = input_registers[0]; uint16_t valueI = measure_current(offsetCurrent); From a19b554ecb1294de2d07deec7607791c4889959f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Tue, 14 Mar 2023 15:25:45 +0100 Subject: [PATCH 7/8] finito --- modbus.c | 48 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/modbus.c b/modbus.c index a9ed127..d511ede 100644 --- a/modbus.c +++ b/modbus.c @@ -43,30 +43,44 @@ void modbus_timer(void) extern uint16_t measure_voltage(); uint8_t modbus_analyse_and_answer(void) { // TODO -> complete the modbus analyse and answer - uint8_t length = 0; + uint16_t length = 0; if(rx_buf[0] == modbusAddress){ tx_buf[0] = rx_buf[0]; // Adress tx_buf[1] = rx_buf[1]; // Function + uint16_t adresseRegister = ((uint16_t)rx_buf[2] << 8) | rx_buf[3]; - switch(rx_buf[1]){ + switch(rx_buf[1]){ // Check the function from rx buffer case READ_INPUT_REGISTERS: - tx_buf[2] = 2; // Data length - tx_buf[4] = input_registers[0]; // LSB Data - tx_buf[3] = input_registers[0]>>8; // MSB Data - length = 5; - // todo choose register + length = ((uint16_t)rx_buf[4] << 8) | rx_buf[5]; + tx_buf[2] = (uint8_t)(length*2); // Data length + for(uint16_t i = 0; i < length; i++){ // Data + tx_buf[i*2+4] = input_registers[adresseRegister+i]; + tx_buf[i*2+3] = (input_registers[adresseRegister+i] >> 8); + } + length*=2; + length+=3; break; case READ_HOLDING_REGISTERS: - //todo + length = ((uint16_t)rx_buf[4] << 8) | rx_buf[5]; + tx_buf[2] = (uint8_t)(length*2); // Data length + for(uint16_t i = 0; i < length; i++){ // Data + tx_buf[i*2+4] = holding_registers[adresseRegister+i]; + tx_buf[i*2+3] = (holding_registers[adresseRegister+i] >> 8); + } + length*=2; + length+=3; break; case WRITE_SINGLE_REGISTER: - //todo + holding_registers[adresseRegister] = ((uint16_t)rx_buf[4] << 8) | rx_buf[5]; + for (int i = 2; i <= 5; i++) { + tx_buf[i] = rx_buf[i]; + length = i+1; + } break; - // todo CRC } - } + rx_buf[0] = 0; modbus_send(length); @@ -82,19 +96,23 @@ void modbus_char_recvd(void) void modbus_send(uint8_t length) { - uint16_t temp16; - uint8_t i; + uint16_t crc = CRC16(tx_buf, length); + + tx_buf[length] = crc; + tx_buf[length+1] = crc >> 8; - // TODO -> complete modbus crc calculation length += 2; // add 2 CRC bytes for total size // For all the bytes to be transmitted - uart_send(tx_buf,length); + for (uint8_t i = 0; i < length; i++){ + EUSART1_Write(tx_buf[i]); + } } void modbus_init(uint8_t address) { modbusAddress = address; + holding_registers[1] = address; EUSART1_SetRxInterruptHandler(modbus_char_recvd); TMR0_SetInterruptHandler(modbus_timer); } From ee81349055aa0947bb8bd6d19eb906a083f54d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Tue, 14 Mar 2023 15:45:05 +0100 Subject: [PATCH 8/8] End of laboratory (should be final version) --- main.c | 3 +- nbproject/Makefile-default.mk | 26 +----- nbproject/Makefile-genesis.properties | 4 +- nbproject/configurations.xml | 2 - nbproject/private/configurations.xml | 2 +- nbproject/private/private.xml | 6 +- solar_panel.mc3 | 128 +++++++++++++------------- 7 files changed, 79 insertions(+), 92 deletions(-) diff --git a/main.c b/main.c index 24a7ef1..2749f6c 100644 --- a/main.c +++ b/main.c @@ -86,8 +86,9 @@ void main(void) EPWM1_LoadDutyValue(holding_registers[0]); input_registers[0] = measure_voltage(); + input_registers[1] = measure_current(offsetCurrent); uint16_t valueV = input_registers[0]; - uint16_t valueI = measure_current(offsetCurrent); + uint16_t valueI = input_registers[1]; char msg[MAX_COL+1]; //LCD_2x16_WriteCmd(0x01); // clear display diff --git a/nbproject/Makefile-default.mk b/nbproject/Makefile-default.mk index c184ead..daf6948 100644 --- a/nbproject/Makefile-default.mk +++ b/nbproject/Makefile-default.mk @@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} # Source Files Quoted if spaced -SOURCEFILES_QUOTED_IF_SPACED=lcd/lcd.c mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/epwm1.c mcc_generated_files/tmr2.c mcc_generated_files/eusart1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/tmr0.c main.c crc.c measure.c modbus.c uart.c +SOURCEFILES_QUOTED_IF_SPACED=lcd/lcd.c mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/epwm1.c mcc_generated_files/tmr2.c mcc_generated_files/eusart1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/tmr0.c main.c crc.c measure.c modbus.c # Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lcd/lcd.p1 ${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/epwm1.p1 ${OBJECTDIR}/mcc_generated_files/tmr2.p1 ${OBJECTDIR}/mcc_generated_files/eusart1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/tmr0.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/crc.p1 ${OBJECTDIR}/measure.p1 ${OBJECTDIR}/modbus.p1 ${OBJECTDIR}/uart.p1 -POSSIBLE_DEPFILES=${OBJECTDIR}/lcd/lcd.p1.d ${OBJECTDIR}/mcc_generated_files/device_config.p1.d ${OBJECTDIR}/mcc_generated_files/mcc.p1.d ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d ${OBJECTDIR}/mcc_generated_files/adc.p1.d ${OBJECTDIR}/mcc_generated_files/epwm1.p1.d ${OBJECTDIR}/mcc_generated_files/tmr2.p1.d ${OBJECTDIR}/mcc_generated_files/eusart1.p1.d ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d ${OBJECTDIR}/mcc_generated_files/tmr0.p1.d ${OBJECTDIR}/main.p1.d ${OBJECTDIR}/crc.p1.d ${OBJECTDIR}/measure.p1.d ${OBJECTDIR}/modbus.p1.d ${OBJECTDIR}/uart.p1.d +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lcd/lcd.p1 ${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/epwm1.p1 ${OBJECTDIR}/mcc_generated_files/tmr2.p1 ${OBJECTDIR}/mcc_generated_files/eusart1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/tmr0.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/crc.p1 ${OBJECTDIR}/measure.p1 ${OBJECTDIR}/modbus.p1 +POSSIBLE_DEPFILES=${OBJECTDIR}/lcd/lcd.p1.d ${OBJECTDIR}/mcc_generated_files/device_config.p1.d ${OBJECTDIR}/mcc_generated_files/mcc.p1.d ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d ${OBJECTDIR}/mcc_generated_files/adc.p1.d ${OBJECTDIR}/mcc_generated_files/epwm1.p1.d ${OBJECTDIR}/mcc_generated_files/tmr2.p1.d ${OBJECTDIR}/mcc_generated_files/eusart1.p1.d ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d ${OBJECTDIR}/mcc_generated_files/tmr0.p1.d ${OBJECTDIR}/main.p1.d ${OBJECTDIR}/crc.p1.d ${OBJECTDIR}/measure.p1.d ${OBJECTDIR}/modbus.p1.d # Object Files -OBJECTFILES=${OBJECTDIR}/lcd/lcd.p1 ${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/epwm1.p1 ${OBJECTDIR}/mcc_generated_files/tmr2.p1 ${OBJECTDIR}/mcc_generated_files/eusart1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/tmr0.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/crc.p1 ${OBJECTDIR}/measure.p1 ${OBJECTDIR}/modbus.p1 ${OBJECTDIR}/uart.p1 +OBJECTFILES=${OBJECTDIR}/lcd/lcd.p1 ${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/epwm1.p1 ${OBJECTDIR}/mcc_generated_files/tmr2.p1 ${OBJECTDIR}/mcc_generated_files/eusart1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/tmr0.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/crc.p1 ${OBJECTDIR}/measure.p1 ${OBJECTDIR}/modbus.p1 # Source Files -SOURCEFILES=lcd/lcd.c mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/epwm1.c mcc_generated_files/tmr2.c mcc_generated_files/eusart1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/tmr0.c main.c crc.c measure.c modbus.c uart.c +SOURCEFILES=lcd/lcd.c mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/epwm1.c mcc_generated_files/tmr2.c mcc_generated_files/eusart1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/tmr0.c main.c crc.c measure.c modbus.c @@ -206,14 +206,6 @@ ${OBJECTDIR}/modbus.p1: modbus.c nbproject/Makefile-${CND_CONF}.mk @-${MV} ${OBJECTDIR}/modbus.d ${OBJECTDIR}/modbus.p1.d @${FIXDEPS} ${OBJECTDIR}/modbus.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ -${OBJECTDIR}/uart.p1: uart.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/uart.p1.d - @${RM} ${OBJECTDIR}/uart.p1 - ${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdebugger=snap -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -memi=wordwrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mdefault-config-bits $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -o ${OBJECTDIR}/uart.p1 uart.c - @-${MV} ${OBJECTDIR}/uart.d ${OBJECTDIR}/uart.p1.d - @${FIXDEPS} ${OBJECTDIR}/uart.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ - else ${OBJECTDIR}/lcd/lcd.p1: lcd/lcd.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} "${OBJECTDIR}/lcd" @@ -327,14 +319,6 @@ ${OBJECTDIR}/modbus.p1: modbus.c nbproject/Makefile-${CND_CONF}.mk @-${MV} ${OBJECTDIR}/modbus.d ${OBJECTDIR}/modbus.p1.d @${FIXDEPS} ${OBJECTDIR}/modbus.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ -${OBJECTDIR}/uart.p1: uart.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/uart.p1.d - @${RM} ${OBJECTDIR}/uart.p1 - ${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -memi=wordwrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-download -mdefault-config-bits $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -o ${OBJECTDIR}/uart.p1 uart.c - @-${MV} ${OBJECTDIR}/uart.d ${OBJECTDIR}/uart.p1.d - @${FIXDEPS} ${OBJECTDIR}/uart.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ - endif # ------------------------------------------------------------------------------------ diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties index 58b7953..e0e3ccb 100644 --- a/nbproject/Makefile-genesis.properties +++ b/nbproject/Makefile-genesis.properties @@ -1,11 +1,11 @@ # -#Fri Mar 10 16:03:22 CET 2023 +#Tue Mar 14 13:52:25 CET 2023 default.languagetoolchain.version=2.40 default.Pack.dfplocation=C\:\\Program Files\\Microchip\\MPLABX\\v6.00\\packs\\Microchip\\PIC18F-J_DFP\\1.5.44 conf.ids=default default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc8\\v2.40\\bin host.id=3awj-afwq-rl -configurations-xml=fddef5f935cc83784d98c896c2327263 +configurations-xml=4dc45b219db50423420a0eb2e1f688ad default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b user-defined-mime-resolver-xml=none diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index 8717c5e..8f2b7d6 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -23,7 +23,6 @@ crc.h measure.h modbus.h - uart.h crc.c measure.c modbus.c - uart.c 0 - :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>9018:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>MPLAB Snap ICD:=<sn>BUR190971815:=<drv>x:=<xpt>b:=end + :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>9018:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>MPLAB Snap ICD:=<sn>BUR190971824:=<drv>x:=<xpt>b:=end C:\Program Files\Microchip\xc8\v2.40\bin place holder 1 diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 5e6973e..05cea5c 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -3,9 +3,13 @@ - file:/C:/Users/remi/MPLABXProjects/solar_panel/mcc_generated_files/interrupt_manager.c + file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/doprnt.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/lcd/lcd.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/modbus.h file:/C:/Users/remi/MPLABXProjects/solar_panel/main.c + file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/aomod.c file:/C:/Users/remi/MPLABXProjects/solar_panel/modbus.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/crc.c file:/C:/Users/remi/MPLABXProjects/solar_panel/mcc_generated_files/tmr0.c diff --git a/solar_panel.mc3 b/solar_panel.mc3 index 77b8116..c17b2d9 100644 --- a/solar_panel.mc3 +++ b/solar_panel.mc3 @@ -784,15 +784,15 @@ - 9600 + 9600.614 - Error: 0.006 % + Register set - easysetup + register @@ -5967,82 +5967,82 @@ 131.07200 - - - mcc_generated_files\mcc.h - 52b447a5dc446f42c76e7a13f2403349cfdc20fc87fe880892a4f08ac41ec7ec - - - mcc_generated_files\device_config.h - e658a4cb6ac1c79b2a52ab2754ebce26d229cbe4bd8464122f3272d1e76e5881 - - - mcc_generated_files\interrupt_manager.h - 5c311e57ab563c3fadc6e5c40b1e425436e9366c40e5772f46f393a9f8ed9d39 - - - mcc_generated_files\eusart1.h - cb7a354159e217ac3955f23cce6d01d65df54018be773e73654ec951df42a7e9 - - - mcc_generated_files\tmr0.h - 60487f4faa42d9fec7389ebc68c7a0a01ec6343892ddd4f936b3e776d62a07b0 - + main.c 30e3e0e5956e494fcd566f1509f2f2bbc404d25265a77934114af7c9d1fcdbd7 - - mcc_generated_files\device_config.c - 0c1446568049fa17e32a6aec2aad01e6cabc65cf60b9d57aceffd79e04f930c2 - - - mcc_generated_files\tmr2.h - 9c49623fe191eb686818b525571464bbc0f83e271367728272f8bce53b917f55 - - - mcc_generated_files\pin_manager.h - 87e93cc6f9494828e660861178e9a299efbe16d73a441d92e3dca2a1cf6d54ed - - - mcc_generated_files\tmr2.c - 05c23c08bae910023f51fd801fa4b4107358a34dbad1624e66d9a30249d1fe86 - - - mcc_generated_files\adc.h - 58eb4471903133ed806f7edbfce9c3cc4e0af3536917c8f81ad1cbdb72d919fc - - - mcc_generated_files\tmr0.c - 5999b6142463be670db096db3ffefc4be674ac36a27ce3d5bc69c9811eb5c55f - - - mcc_generated_files\epwm1.h - e1dacec839b43c4ec99f1710c3a7872ce32d2ea6dfe3856eb466e690b7ea75c9 - - - mcc_generated_files\pin_manager.c - 1f9236370706611180887eedcb54392c08476036ee99409ce0d9a1f39ef165fb - - - mcc_generated_files\epwm1.c - db307f67f622483528ffff92c5560b35b38162e4f93d1659723c7276b7265601 - mcc_generated_files\adc.c 62188981f98a350cfcc3227def37b9ded03569aedb061a1566fc3d03028da8f1 - mcc_generated_files\mcc.c - 32ff3e2dadb25f5b8ccb3d70520f2b25f98e471a9bccb87758edd960e922e48c + mcc_generated_files\adc.h + 58eb4471903133ed806f7edbfce9c3cc4e0af3536917c8f81ad1cbdb72d919fc + + + mcc_generated_files\device_config.c + 0c1446568049fa17e32a6aec2aad01e6cabc65cf60b9d57aceffd79e04f930c2 + + + mcc_generated_files\device_config.h + e658a4cb6ac1c79b2a52ab2754ebce26d229cbe4bd8464122f3272d1e76e5881 + + + mcc_generated_files\epwm1.c + db307f67f622483528ffff92c5560b35b38162e4f93d1659723c7276b7265601 + + + mcc_generated_files\epwm1.h + e1dacec839b43c4ec99f1710c3a7872ce32d2ea6dfe3856eb466e690b7ea75c9 + + + mcc_generated_files\eusart1.c + 4b28289ec5a9f1dd41eb4000a98bdf15a60c73701c716add6c562a154a431809 + + + mcc_generated_files\eusart1.h + cb7a354159e217ac3955f23cce6d01d65df54018be773e73654ec951df42a7e9 mcc_generated_files\interrupt_manager.c 9bec65c4415d6a1861d1d33f5aecfcf2c426de3ac2962449aec821b45c527ef2 - mcc_generated_files\eusart1.c - 4b28289ec5a9f1dd41eb4000a98bdf15a60c73701c716add6c562a154a431809 + mcc_generated_files\interrupt_manager.h + 5c311e57ab563c3fadc6e5c40b1e425436e9366c40e5772f46f393a9f8ed9d39 + + + mcc_generated_files\mcc.c + 32ff3e2dadb25f5b8ccb3d70520f2b25f98e471a9bccb87758edd960e922e48c + + + mcc_generated_files\mcc.h + 52b447a5dc446f42c76e7a13f2403349cfdc20fc87fe880892a4f08ac41ec7ec + + + mcc_generated_files\pin_manager.c + 1f9236370706611180887eedcb54392c08476036ee99409ce0d9a1f39ef165fb + + + mcc_generated_files\pin_manager.h + 87e93cc6f9494828e660861178e9a299efbe16d73a441d92e3dca2a1cf6d54ed + + + mcc_generated_files\tmr0.c + 5999b6142463be670db096db3ffefc4be674ac36a27ce3d5bc69c9811eb5c55f + + + mcc_generated_files\tmr0.h + 60487f4faa42d9fec7389ebc68c7a0a01ec6343892ddd4f936b3e776d62a07b0 + + + mcc_generated_files\tmr2.c + 05c23c08bae910023f51fd801fa4b4107358a34dbad1624e66d9a30249d1fe86 + + + mcc_generated_files\tmr2.h + 9c49623fe191eb686818b525571464bbc0f83e271367728272f8bce53b917f55 \ No newline at end of file