diff --git a/STM32/TSYS_controller/Readme.md b/STM32/TSYS_controller/Readme.md index eac93e7..1718406 100644 --- a/STM32/TSYS_controller/Readme.md +++ b/STM32/TSYS_controller/Readme.md @@ -3,24 +3,23 @@ Make regular scan of 8 sensors' pairs. USART speed 115200. Code for ../../kicad/stm32 -### Serial interface commands (ends with '\n'): -- **0...9** - wait measurements of T from Nth controller (0==T for master) -- **A** send everybody to start T measurement +### Serial interface commands (ends with '\n'), small letter for only local processing: +- **0...9** - wait measurements of T from Nth controller (0==current controller) - **B** send dummy CAN messages to broadcast address -- **C** show coefficients for all thermosensors +- **c** show coefficients for all thermosensors - **D** send dummy CAN messages to master (0) address -- **E** end temperature scan -- **F** turn sensors off -- **G** get CAN address -- **H** switch I2C to high speed (100kHz) -- **I** reinit CAN -- **L** switch I2C to low speed (default, 10kHz) -- **O** turn sensors on +- **Ee** end temperature scan +- **Ff** turn sensors off +- **g** get last CAN address +- **Hh** switch I2C to high speed (100kHz) +- **i** reinit CAN +- **Ll** switch I2C to low speed (default, 10kHz) - **P** ping everyone over CAN -- **R** reinit I2C -- **S** start temperature scan -- **T** start single temperature measurement -- **V** very low speed +- **Rr** reinit I2C +- **Ss** start temperature scan +- **Tt** start single temperature measurement +- **u** check CAN bus status for errors +- **Vv** very low speed - **Z** get sensors state over CAN ### PINOUT diff --git a/STM32/TSYS_controller/can.c b/STM32/TSYS_controller/can.c index c09e7ed..60b23e8 100644 --- a/STM32/TSYS_controller/can.c +++ b/STM32/TSYS_controller/can.c @@ -160,15 +160,13 @@ void can_proc(){ can_process_fifo(1); } if(CAN->ESR & (CAN_ESR_BOFF | CAN_ESR_EPVF | CAN_ESR_EWGF)){ // much errors - restart CAN BUS - LED_off(LED1); MSG("bus-off, restarting\n"); -#pragma message "TODO: let 2 know main() about problems in CANbus" // request abort for all mailboxes CAN->TSR |= CAN_TSR_ABRQ0 | CAN_TSR_ABRQ1 | CAN_TSR_ABRQ2; // reset CAN bus RCC->APB1RSTR |= RCC_APB1RSTR_CANRST; RCC->APB1RSTR &= ~RCC_APB1RSTR_CANRST; - CAN_setup(); + can_status = CAN_ERROR; } #ifdef EBUG static uint32_t esr, msr, tsr; diff --git a/STM32/TSYS_controller/can.h b/STM32/TSYS_controller/can.h index f347fe9..d885b51 100644 --- a/STM32/TSYS_controller/can.h +++ b/STM32/TSYS_controller/can.h @@ -43,11 +43,13 @@ typedef struct{ } CAN_message; typedef enum{ - CAN_STOP, - CAN_READY, - CAN_BUSY, - CAN_OK, - CAN_FIFO_OVERRUN + CAN_NOTMASTER, // can't send command - not a mastar + CAN_STOP, // CAN stopped + CAN_READY, // ready to send + CAN_BUSY, // bus is busy + CAN_OK, // all OK? + CAN_FIFO_OVERRUN, // FIFO overrun + CAN_ERROR // no recipients on bus or too many errors } CAN_status; CAN_status CAN_get_status(); diff --git a/STM32/TSYS_controller/can_process.c b/STM32/TSYS_controller/can_process.c index df1d43d..3b19e1a 100644 --- a/STM32/TSYS_controller/can_process.c +++ b/STM32/TSYS_controller/can_process.c @@ -62,6 +62,27 @@ void can_messages_proc(){ case CMD_START_MEASUREMENT: sensors_start(); break; + case CMD_START_SCAN: + sensors_scan_mode = 1; + break; + case CMD_STOP_SCAN: + sensors_scan_mode = 0; + break; + case CMD_SENSORS_OFF: + sensors_off(); + break; + case CMD_LOWEST_SPEED: + i2c_setup(VERYLOW_SPEED); + break; + case CMD_LOW_SPEED: + i2c_setup(LOW_SPEED); + break; + case CMD_HIGH_SPEED: + i2c_setup(HIGH_SPEED); + break; + case CMD_REINIT_I2C: + i2c_setup(CURRENT_SPEED); + break; } }else if(data[0] == DATA_MARK){ // process received data if(len < 3) return; @@ -115,7 +136,7 @@ static CAN_status try2send(uint8_t *buf, uint8_t len, uint16_t id){ * @param cmd - command to send */ CAN_status can_send_cmd(uint16_t targetID, uint8_t cmd){ - if(Controller_address != 0 && cmd != CMD_DUMMY0 && cmd != CMD_DUMMY1) return CAN_OK; + if(Controller_address != 0 && cmd != CMD_DUMMY0 && cmd != CMD_DUMMY1) return CAN_NOTMASTER; uint8_t buf[2]; buf[0] = COMMAND_MARK; buf[1] = cmd; @@ -163,10 +184,14 @@ int8_t send_temperatures(int8_t N){ can_data[1] = a*10 + p; //char b[] = {'T', a+'0', p+'0', '=', '+'}; int16_t t = Temperatures[a][p]; - can_data[2] = t>>8; // H byte - can_data[3] = t&0xff; // L byte - if(CAN_OK == can_send_data(can_data, 4)){ // OK, calculate next address + if(t == BAD_TEMPERATURE || t == NO_SENSOR){ // don't send data if it's absent on current measurement ++retn; + }else{ + can_data[2] = t>>8; // H byte + can_data[3] = t&0xff; // L byte + if(CAN_OK == can_send_data(can_data, 4)){ // OK, calculate next address + ++retn; + } } return retn; } diff --git a/STM32/TSYS_controller/can_process.h b/STM32/TSYS_controller/can_process.h index 4917e8a..f9a161c 100644 --- a/STM32/TSYS_controller/can_process.h +++ b/STM32/TSYS_controller/can_process.h @@ -34,6 +34,13 @@ typedef enum{ CMD_PING, // request for PONG cmd CMD_START_MEASUREMENT, // start thermal measurement CMD_SENSORS_STATE, // reply data with sensors state + CMD_START_SCAN, // run scan mode @ all controllers + CMD_STOP_SCAN, // stop scan mode + CMD_SENSORS_OFF, // turn off power of sensors + CMD_LOWEST_SPEED, // lowest I2C speed + CMD_LOW_SPEED, // low I2C speed (10kHz) + CMD_HIGH_SPEED, // high I2C speed (100kHz) + CMD_REINIT_I2C, // reinit I2C with current speed // dummy commands for test purposes CMD_DUMMY0 = 0xDA, CMD_DUMMY1 = 0xAD diff --git a/STM32/TSYS_controller/main.c b/STM32/TSYS_controller/main.c index 1d8686d..50f49cb 100644 --- a/STM32/TSYS_controller/main.c +++ b/STM32/TSYS_controller/main.c @@ -72,7 +72,7 @@ void CANsend(uint16_t targetID, uint8_t cmd, char echo){ int main(void){ uint32_t lastT = 0, lastS = 0; int16_t L = 0, ID; - uint8_t gotmeasurement = 0; + uint8_t gotmeasurement = 0, canerror = 0; char *txt; sysreset(); SysTick_Config(6000, 1); @@ -107,24 +107,23 @@ int main(void){ lastS = Tms; } can_proc(); - if(CAN_get_status() == CAN_FIFO_OVERRUN){ + CAN_status stat = CAN_get_status(); + if(stat == CAN_FIFO_OVERRUN){ SEND("CAN bus fifo overrun occured!\n"); + }else if(stat == CAN_ERROR){ + LED_off(LED1); + CAN_setup(); + canerror = 1; } can_messages_proc(); - //if(sensors_scan_mode){ - if(SENS_SLEEPING == sensors_get_state()){ // show temperature @ each sleeping occurence - if(!gotmeasurement){ - //SEND("\nTIME="); - //printu(Tms); - //usart_putchar('\t'); - //newline(); - gotmeasurement = 1; - showtemperature(); - } - }else{ - gotmeasurement = 0; + if(SENS_SLEEPING == sensors_get_state()){ // show temperature @ each sleeping occurence + if(!gotmeasurement){ + gotmeasurement = 1; + showtemperature(); } - //} + }else{ + gotmeasurement = 0; + } if(usartrx()){ // usart1 received data, store in in buffer L = usart_getline(&txt); char _1st = txt[0]; @@ -134,109 +133,112 @@ int main(void){ ID = (CAN_ID_PREFIX & CAN_ID_MASK) | (_1st - '0'); CANsend(ID, CMD_START_MEASUREMENT, _1st); }else switch(_1st){ - case 'A': - CANsend(BCAST_ID, CMD_START_MEASUREMENT, _1st); - if(!sensors_scan_mode) sensors_start(); - break; case 'B': CANsend(BCAST_ID, CMD_DUMMY0, _1st); break; - case 'C': // 'C' - show coefficients + case 'c': showcoeffs(); break; case 'D': CANsend(MASTER_ID, CMD_DUMMY1, _1st); break; case 'E': + CANsend(BCAST_ID, CMD_STOP_SCAN, _1st); + case 'e': SEND("End scan mode\n"); sensors_scan_mode = 0; break; case 'F': + CANsend(BCAST_ID, CMD_SENSORS_OFF, _1st); + case 'f': + SEND("Turn off sensors\n"); sensors_off(); break; - case 'G': + case 'g': SEND("Can address: "); printuhex(getCANID()); newline(); break; case 'H': + CANsend(BCAST_ID, CMD_HIGH_SPEED, _1st); + case 'h': i2c_setup(HIGH_SPEED); SEND("High speed\n"); break; - case 'I': + case 'i': CAN_reinit(); SEND("Can address: "); printuhex(getCANID()); newline(); break; case 'L': + CANsend(BCAST_ID, CMD_LOW_SPEED, _1st); + case 'l': i2c_setup(LOW_SPEED); SEND("Low speed\n"); break; - case 'O': + /*case 'o': sensors_on(); - break; + break;*/ case 'P': CANsend(BCAST_ID, CMD_PING, _1st); break; case 'R': + CANsend(BCAST_ID, CMD_REINIT_I2C, _1st); + case 'r': i2c_setup(CURRENT_SPEED); SEND("Reinit I2C\n"); break; case 'S': + CANsend(BCAST_ID, CMD_START_SCAN, _1st); + case 's': SEND("Start scan mode\n"); sensors_scan_mode = 1; break; + case 'T': + CANsend(BCAST_ID, CMD_START_MEASUREMENT, _1st); case '0': - case 'T': // 'T' - get temperature + case 't': if(!sensors_scan_mode) sensors_start(); break; + case 'u': + SEND("CANERROR="); + if(canerror){ + canerror = 0; + usart_putchar('1'); + }else usart_putchar('0'); + newline(); + break; case 'V': + CANsend(BCAST_ID, CMD_LOWEST_SPEED, _1st); + case 'v': i2c_setup(VERYLOW_SPEED); SEND("Very low speed\n"); break; case 'Z': CANsend(BCAST_ID, CMD_SENSORS_STATE, _1st); break; -#if 0 - case 'd': - case 'g': - case 't': - case 's': - senstest(_1st); - break; - case 'p': - sensors_process(); - break; -#endif default: // help SEND( - "0..7 - start measurement on given controller\n" - "A - start measurement on all controllers\n" + "ALL little letters - without CAN messaging\n" + "0..7 - start measurement on given controller (0 - this)\n" "B - send broadcast CAN dummy message\n" - "C - show coefficients\n" + "c - show coefficients (current)\n" "D - send CAN dummy message to master\n" - "E - end themperature scan\n" - "F - turn oFf sensors\n" - "G - get CAN address\n" - "H - high speed\n" - "I - reinit CAN\n" - "L - low speed\n" - "O - turn On sensors\n" + "Ee- end themperature scan\n" + "Ff- turn oFf sensors\n" + "g - get last CAN address\n" + "Hh- high I2C speed\n" + "i - reinit CAN (with new address)\n" + "Ll- low I2C speed\n" + // "o - turn On sensors\n" "P - ping everyone over CAN\n" - "R - reinit I2C\n" - "S - Start themperature scan\n" - "T - start temperature measurement\n" - "V - very low speed\n" + "Rr- reinit I2C\n" + "Ss- Start themperature scan\n" + "Tt- start temperature measurement\n" + "u - check CAN status for errors\n" + "Vv- very low I2C speed\n" "Z - get sensors state over CAN\n" -#if 0 - "\t\tTEST OPTIONS\n" - "d - discovery\n" - "g - get coeff\n" - "t - measure temper\n" - "s - show temper measured\n" - "p - sensors_process()\n" -#endif ); break; } diff --git a/STM32/TSYS_controller/sensors_manage.c b/STM32/TSYS_controller/sensors_manage.c index ba0ca72..71a29d7 100644 --- a/STM32/TSYS_controller/sensors_manage.c +++ b/STM32/TSYS_controller/sensors_manage.c @@ -117,16 +117,6 @@ void sensors_start(){ } } -/* / count bits in byte -static uint8_t bitCount(uint8_t B){ - uint8_t ctr = 0; - while(B){ - ++ctr; - B &= (B - 1); - } - return ctr; -}*/ - // count 1 bits in sens_present & set `Nsens_present` to this value static void count_sensors(){ Nsens_present = 0; @@ -135,10 +125,6 @@ static void count_sensors(){ ++Nsens_present; B &= (B - 1); } - /* / reset temperature values - uint16_t *t = Temperatures; - for(B = 0; B < 2*(MUL_MAX_ADDRESS+1); ++B) - *t++ = BAD_TEMPERATURE; */ } /** @@ -415,14 +401,8 @@ SEND(" sensors ->start\n"); case SENS_GATHERING: // scan all sensors, get thermal data & calculate temperature if(sensors_scan(gettempproc)){ lastSensT = Tms; - if(Nsens_present != Ntemp_measured){ - i2c_setup(CURRENT_SPEED); - sensors_on(); - } - else{ - NsentOverCAN = 0; - Sstate = SENS_SLEEPING; - } + NsentOverCAN = 0; + Sstate = SENS_SLEEPING; //MSG("->sleep\n"); /* if(Nsens_present == Ntemp_measured){ // All OK, amount of T == amount of sensors @@ -437,10 +417,16 @@ MSG("gather error ->start\n"); break; case SENS_SLEEPING: // wait for `SLEEP_TIME` till next measurements NsentOverCAN = send_temperatures(NsentOverCAN); // call sending T process - if(sensors_scan_mode){ // sleep until next measurement start - if(Tms - lastSensT > SLEEP_TIME){ - //MSG("sleep->start\n"); - Sstate = SENS_START_MSRMNT; + if(NsentOverCAN == -1){ + if(Nsens_present != Ntemp_measured){ // restart sensors only after measurements sent + i2c_setup(CURRENT_SPEED); + sensors_on(); + } + if(sensors_scan_mode){ // sleep until next measurement start + if(Tms - lastSensT > SLEEP_TIME){ +//MSG("sleep->start\n"); + Sstate = SENS_START_MSRMNT; + } } } break; @@ -452,37 +438,3 @@ MSG("gather error ->start\n"); break; } } - -#if 0 -void senstest(char cmd){ - MUL_OFF(); - SENSORS_ON(); - if(SENSORS_OVERCURNT()){ - SENSORS_OFF(); - SEND("Overcurrent!\n"); - return; - } - curr_mul_addr = 0; - MUL_ADDRESS(0); - MUL_ON(); - switch (cmd){ - case 'd': // discovery once - resetproc(); - count_sensors(); - break; - case 'g': - getcoefsproc(); - break; - case 't': - msrtempproc(); - break; - case 's': - gettempproc(); - showtemperature(); - break; - default: - return; - } - Sstate = SENS_OFF; -} -#endif diff --git a/STM32/TSYS_controller/sensors_manage.h b/STM32/TSYS_controller/sensors_manage.h index 358343f..6ff4b68 100644 --- a/STM32/TSYS_controller/sensors_manage.h +++ b/STM32/TSYS_controller/sensors_manage.h @@ -28,8 +28,8 @@ // time for power up procedure (500ms) #define POWERUP_TIME (500) -// time between two readings (3sec) -#define SLEEP_TIME (3000) +// time between readings in scan mode (15sec) +#define SLEEP_TIME (15000) // error in measurement == -300degrC #define BAD_TEMPERATURE (-30000) // no sensor on given channel diff --git a/STM32/TSYS_controller/tsys01.bin b/STM32/TSYS_controller/tsys01.bin index 9e77c04..677052a 100755 Binary files a/STM32/TSYS_controller/tsys01.bin and b/STM32/TSYS_controller/tsys01.bin differ diff --git a/STM32/TSYS_controller/tsys01.c.tags b/STM32/TSYS_controller/tsys01.c.tags index dbf2e3b..953e6e7 100644 --- a/STM32/TSYS_controller/tsys01.c.tags +++ b/STM32/TSYS_controller/tsys01.c.tags @@ -94,7 +94,7 @@ ADC_TR_HT ADC_TR_LTÌ65536Ö0 AHB2PERIPH_BASEÌ65536Ö0 AHBPERIPH_BASEÌ65536Ö0 -ALL_OKÌ4Îanon_enum_5Ö0 +ALL_OKÌ4Îanon_enum_3Ö0 APBPERIPH_BASEÌ65536Ö0 BAD_TEMPERATUREÌ65536Ö0 BCAST_IDÌ65536Ö0 @@ -117,6 +117,7 @@ CAN_BTR_TS2_0 CAN_BTR_TS2_1Ì65536Ö0 CAN_BTR_TS2_2Ì65536Ö0 CAN_BUSYÌ4Îanon_enum_2Ö0 +CAN_ERRORÌ4Îanon_enum_2Ö0 CAN_ESR_BOFFÌ65536Ö0 CAN_ESR_EPVFÌ65536Ö0 CAN_ESR_EWGFÌ65536Ö0 @@ -1119,6 +1120,7 @@ CAN_MSR_SLAK CAN_MSR_SLAKIÌ65536Ö0 CAN_MSR_TXMÌ65536Ö0 CAN_MSR_WKUIÌ65536Ö0 +CAN_NOTMASTERÌ4Îanon_enum_2Ö0 CAN_OKÌ4Îanon_enum_2Ö0 CAN_RDH0R_DATA4Ì65536Ö0 CAN_RDH0R_DATA5Ì65536Ö0 @@ -1289,26 +1291,54 @@ CEC_TXDR_RXD CEC_TXDR_TXDÌ65536Ö0 CLEAR_BITÌ131072Í(REG,BIT)Ö0 CLEAR_REGÌ131072Í(REG)Ö0 -CMD_DUMMY0Ì4Îanon_enum_3Ö0 -CMD_DUMMY0Ì4Îanon_enum_6Ö0 +CMD_DUMMY0Ì4Îanon_enum_4Ö0 +CMD_DUMMY0Ì4Îanon_enum_5Ö0 CMD_DUMMY0Ì4Îanon_enum_7Ö0 CMD_DUMMY0Ì4Îanon_enum_8Ö0 -CMD_DUMMY1Ì4Îanon_enum_3Ö0 -CMD_DUMMY1Ì4Îanon_enum_6Ö0 +CMD_DUMMY1Ì4Îanon_enum_4Ö0 +CMD_DUMMY1Ì4Îanon_enum_5Ö0 CMD_DUMMY1Ì4Îanon_enum_7Ö0 CMD_DUMMY1Ì4Îanon_enum_8Ö0 -CMD_PINGÌ4Îanon_enum_3Ö0 -CMD_PINGÌ4Îanon_enum_6Ö0 +CMD_HIGH_SPEEDÌ4Îanon_enum_4Ö0 +CMD_HIGH_SPEEDÌ4Îanon_enum_5Ö0 +CMD_HIGH_SPEEDÌ4Îanon_enum_7Ö0 +CMD_HIGH_SPEEDÌ4Îanon_enum_8Ö0 +CMD_LOWEST_SPEEDÌ4Îanon_enum_4Ö0 +CMD_LOWEST_SPEEDÌ4Îanon_enum_5Ö0 +CMD_LOWEST_SPEEDÌ4Îanon_enum_7Ö0 +CMD_LOWEST_SPEEDÌ4Îanon_enum_8Ö0 +CMD_LOW_SPEEDÌ4Îanon_enum_4Ö0 +CMD_LOW_SPEEDÌ4Îanon_enum_5Ö0 +CMD_LOW_SPEEDÌ4Îanon_enum_7Ö0 +CMD_LOW_SPEEDÌ4Îanon_enum_8Ö0 +CMD_PINGÌ4Îanon_enum_4Ö0 +CMD_PINGÌ4Îanon_enum_5Ö0 CMD_PINGÌ4Îanon_enum_7Ö0 CMD_PINGÌ4Îanon_enum_8Ö0 -CMD_SENSORS_STATEÌ4Îanon_enum_3Ö0 -CMD_SENSORS_STATEÌ4Îanon_enum_6Ö0 +CMD_REINIT_I2CÌ4Îanon_enum_4Ö0 +CMD_REINIT_I2CÌ4Îanon_enum_5Ö0 +CMD_REINIT_I2CÌ4Îanon_enum_7Ö0 +CMD_REINIT_I2CÌ4Îanon_enum_8Ö0 +CMD_SENSORS_OFFÌ4Îanon_enum_4Ö0 +CMD_SENSORS_OFFÌ4Îanon_enum_5Ö0 +CMD_SENSORS_OFFÌ4Îanon_enum_7Ö0 +CMD_SENSORS_OFFÌ4Îanon_enum_8Ö0 +CMD_SENSORS_STATEÌ4Îanon_enum_4Ö0 +CMD_SENSORS_STATEÌ4Îanon_enum_5Ö0 CMD_SENSORS_STATEÌ4Îanon_enum_7Ö0 CMD_SENSORS_STATEÌ4Îanon_enum_8Ö0 -CMD_START_MEASUREMENTÌ4Îanon_enum_3Ö0 -CMD_START_MEASUREMENTÌ4Îanon_enum_6Ö0 +CMD_START_MEASUREMENTÌ4Îanon_enum_4Ö0 +CMD_START_MEASUREMENTÌ4Îanon_enum_5Ö0 CMD_START_MEASUREMENTÌ4Îanon_enum_7Ö0 CMD_START_MEASUREMENTÌ4Îanon_enum_8Ö0 +CMD_START_SCANÌ4Îanon_enum_4Ö0 +CMD_START_SCANÌ4Îanon_enum_5Ö0 +CMD_START_SCANÌ4Îanon_enum_7Ö0 +CMD_START_SCANÌ4Îanon_enum_8Ö0 +CMD_STOP_SCANÌ4Îanon_enum_4Ö0 +CMD_STOP_SCANÌ4Îanon_enum_5Ö0 +CMD_STOP_SCANÌ4Îanon_enum_7Ö0 +CMD_STOP_SCANÌ4Îanon_enum_8Ö0 COMMAND_MARKÌ65536Ö0 CONCATÌ131072Í(a,b)Ö0 CONV_TIMEÌ65536Ö0 @@ -2247,7 +2277,7 @@ LED1_port LED_blinkÌ131072Í(x)Ö0 LED_offÌ131072Í(x)Ö0 LED_onÌ131072Í(x)Ö0 -LINE_BUSYÌ4Îanon_enum_5Ö0 +LINE_BUSYÌ4Îanon_enum_3Ö0 LOW_SPEEDÌ4Îanon_enum_0Ö0 MASTER_IDÌ65536Ö0 MODIFY_REGÌ131072Í(REG,CLEARMASK,SETMASK)Ö0 @@ -2888,16 +2918,16 @@ SEND_TIMEOUT_MS SENSORS_OFFÌ131072Í()Ö0 SENSORS_ONÌ131072Í()Ö0 SENSORS_OVERCURNTÌ131072Í()Ö0 -SENS_GATHERINGÌ4Îanon_enum_4Ö0 -SENS_GET_COEFFSÌ4Îanon_enum_4Ö0 -SENS_INITINGÌ4Îanon_enum_4Ö0 -SENS_OFFÌ4Îanon_enum_4Ö0 -SENS_OVERCURNTÌ4Îanon_enum_4Ö0 -SENS_OVERCURNT_OFFÌ4Îanon_enum_4Ö0 -SENS_RESETINGÌ4Îanon_enum_4Ö0 -SENS_SLEEPINGÌ4Îanon_enum_4Ö0 -SENS_START_MSRMNTÌ4Îanon_enum_4Ö0 -SENS_WAITINGÌ4Îanon_enum_4Ö0 +SENS_GATHERINGÌ4Îanon_enum_6Ö0 +SENS_GET_COEFFSÌ4Îanon_enum_6Ö0 +SENS_INITINGÌ4Îanon_enum_6Ö0 +SENS_OFFÌ4Îanon_enum_6Ö0 +SENS_OVERCURNTÌ4Îanon_enum_6Ö0 +SENS_OVERCURNT_OFFÌ4Îanon_enum_6Ö0 +SENS_RESETINGÌ4Îanon_enum_6Ö0 +SENS_SLEEPINGÌ4Îanon_enum_6Ö0 +SENS_START_MSRMNTÌ4Îanon_enum_6Ö0 +SENS_WAITINGÌ4Îanon_enum_6Ö0 SET_BITÌ131072Í(REG,BIT)Ö0 SIG_ATOMIC_MAXÌ65536Ö0 SIG_ATOMIC_MINÌ65536Ö0 @@ -2983,7 +3013,7 @@ STM32F0 STM32F042x6Ì65536Ö0 STRÌ131072Í(s)Ö0 STR_HELPERÌ131072Í(s)Ö0 -STR_TOO_LONGÌ4Îanon_enum_5Ö0 +STR_TOO_LONGÌ4Îanon_enum_3Ö0 SYSCFGÌ65536Ö0 SYSCFG_BASEÌ65536Ö0 SYSCFG_CFGR1_ADC_DMA_RMPÌ65536Ö0 @@ -3115,7 +3145,7 @@ SYSCFG_EXTICR4_EXTI15_PB SYSCFG_EXTICR4_EXTI15_PCÌ65536Ö0 SYSCFG_EXTICR4_EXTI15_PDÌ65536Ö0 SYSCFG_EXTICR4_EXTI15_PEÌ65536Ö0 -SensorsStateÌ4096Ö0Ïanon_enum_4 +SensorsStateÌ4096Ö0Ïanon_enum_6 SstateÌ16384Ö0ÏSensorsState StartHSEÌ16Í()Ö0Ïinline void StartHSI48Ì16Í()Ö0Ïinline void @@ -3558,7 +3588,7 @@ TSYS01_ADDR1 TSYS01_PROM_ADDR0Ì65536Ö0 TSYS01_RESETÌ65536Ö0 TSYS01_START_CONVÌ65536Ö0 -TXstatusÌ4096Ö0Ïanon_enum_5 +TXstatusÌ4096Ö0Ïanon_enum_3 TaddrÌ16384Ö0Ïconst uint8_t TemperaturesÌ16384Ö0Ïint16_t TemperaturesÌ32768Ö0Ïint16_t diff --git a/STM32/TSYS_controller/tsys01.geany b/STM32/TSYS_controller/tsys01.geany index 45289f5..fff165d 100644 --- a/STM32/TSYS_controller/tsys01.geany +++ b/STM32/TSYS_controller/tsys01.geany @@ -27,16 +27,18 @@ long_line_behaviour=1 long_line_column=100 [files] -current_page=8 -FILE_NAME_0=6740;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan.c;0;4 -FILE_NAME_1=1189;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan.h;0;4 -FILE_NAME_2=2113;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fmain.c;0;4 -FILE_NAME_3=10188;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fsensors_manage.c;0;4 -FILE_NAME_4=8248;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM32%2FF0-srcs%2Fcanbus%2Fsrc%2Fcan.c;0;4 -FILE_NAME_5=3404;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM32%2FF0-srcs%2Fcanbus%2Fsrc%2Fmain.c;0;4 -FILE_NAME_6=1593;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan_process.c;0;4 -FILE_NAME_7=1165;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan_process.h;0;4 -FILE_NAME_8=0;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fsensors_manage.h;0;4 +current_page=2 +FILE_NAME_0=7848;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan.c;0;4 +FILE_NAME_1=1413;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan.h;0;4 +FILE_NAME_2=3014;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fmain.c;0;4 +FILE_NAME_3=3352;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fsensors_manage.c;0;4 +FILE_NAME_4=1408;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fsensors_manage.h;0;4 +FILE_NAME_5=2492;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan_process.c;0;4 +FILE_NAME_6=1585;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fcan_process.h;0;4 +FILE_NAME_7=2511;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fhardware.h;0;4 +FILE_NAME_8=2520;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fusart.c;0;4 +FILE_NAME_9=1049;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2Fusart.h;0;4 +FILE_NAME_10=196;Make;0;EUTF-8;1;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FBTA%2FMIRROR_CONTROL_termo%2FProject%2FSTM32src%2FTSYS_controller%2FMakefile;0;4 [VTE] last_dir=/home/eddy