diff options
Diffstat (limited to 'Software/Embedded_SW')
3 files changed, 41 insertions, 70 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.c b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.c index 93d6b2cc4..0fe1ca152 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.c +++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.c @@ -25,12 +25,9 @@ #include "driverlib/interrupt.h" #include "utils/uartstdio.h" #include "driverlib/uart.h" - -//#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h> #include "Modules/Control/MillisecTask.h" #include <DataDef.h> #include <Drivers/I2C_Communication/I2C_Task.h> -//#include "Drivers/Uart_Comm/WHS_Controller_Comm/WHS_UART/WHS_Uart.h" #include "Drivers/FPGA/FPGA_Comm.h" #include "Drivers/Uart_Comm/BTSR/BTSR.h" @@ -73,8 +70,6 @@ void U4RX() UARTIntEnable(UART4_BASE, UART_INT_TX); BTSR_RX_Buff[rxcounter] = ROM_UARTCharGetNonBlocking(UART4_BASE);//Receive data rxcounter++; - - } void uart4_intHandler() @@ -583,15 +578,6 @@ uint8_t BTSR_Read_Status(uint8_t BTSR_Id, uint8_t Application, uint8_t Yarn_Type - - - - - - -//BTSR_ALARM_AND_ENABLING_STATUS_READ BTSR_Status; -//BTSR_DEVICE_INFORMATION_READ BTSR_Info; - typedef union { struct @@ -661,6 +647,7 @@ void BTSR_Configuration_Set(UFeeder_Index UFeeder_i)//15 BTSR_TX_Buff[2] = BTSR[UFeeder_i].DirectionCCW << 7; BTSR_TX_Buff[3] = 0x01;//YYT OFF, UNICO OFF BTSR_TX_Buff[4] = BTSR[UFeeder_i].Flip_Display << 6; + BTSR_TX_Buff[5] = BTSR[UFeeder_i].Lock_Keyboard_Menue;// ‘1’ EDITOR LOCKED BTSR_Calculate_CheckSum(BTSR_TX_Buff,18); @@ -887,10 +874,6 @@ uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i) BTSR[UFeeder_i].Command[i] = BTSR_RX_Buff[0]; //print response + command ID } -// else if(((i == METERS_TOTAL_COUNTER_RESET_LOW_38) && (BTSR_RX_Buff[1] != 0x06)) || -// ((i == METERS_TOTAL_COUNTER_RESET_HIGH_40) && (BTSR_RX_Buff[1] != 0x1E)) || -// ((i == METERS_TOTAL_COUNTER_RESET_HIGHEST_42) && (BTSR_RX_Buff[1] != 0x48)) ) -// { else if( (i == METERS_TOTAL_COUNTER_RESET_38_40_42) && ( ((BTSR[UFeeder_i].Length_Resolution == LOW) && (BTSR_RX_Buff[1] != 0x06)) || ((BTSR[UFeeder_i].Length_Resolution == HIGH) && (BTSR_RX_Buff[1] != 0x1E)) || @@ -923,15 +906,6 @@ uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i) case RESETS_ALL_THE_COUNTERS_36: BTSR_Errors_Counter_Reset(UFeeder_i); break; -// case METERS_TOTAL_COUNTER_RESET_LOW_38: -// BTSR_Meters_Total_Counter_Reset(UFeeder_i, LOW); -// break; -// case METERS_TOTAL_COUNTER_RESET_HIGH_40: -// BTSR_Meters_Total_Counter_Reset(UFeeder_i, HIGH); -// break; -// case METERS_TOTAL_COUNTER_RESET_HIGHEST_42: -// BTSR_Meters_Total_Counter_Reset(UFeeder_i, HIGHEST); -// break; case METERS_TOTAL_COUNTER_RESET_38_40_42: BTSR_Meters_Total_Counter_Reset(UFeeder_i, BTSR[UFeeder_i].Length_Resolution); break; @@ -961,7 +935,6 @@ uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i) ReportWithPackageFilter(ThreadFilter,"BTSR VERSION",__FILE__,UFeeder_i,(BTSR[UFeeder_i].Info.Byte.BOARD_HW_VERSION << 8) | BTSR[UFeeder_i].Info.Byte.BOOTLOADER_SW_VERSION,RpMessage,(BTSR[UFeeder_i].Info.Byte.SW_VERSION << 8) | BTSR[UFeeder_i].Info.Byte.SW_UNDER_VERSION,0); } else - //if((i == METERS_TOTAL_COUNTER_READ_LOW_37) || (i == METERS_TOTAL_COUNTER_READ_HIGH_39) || (i == METER_TOTAL_COUNTER_READ_HIGHEST_41)) if(METER_TOTAL_COUNTER_READ_37_39_41) { for(j = 0; j < 6; j++) @@ -969,11 +942,9 @@ uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i) status |= Check_Received_CheckSum(BTSR[UFeeder_i].ID, 0x16, BTSR_Meters.Buf, 6); temp = (float)(BTSR_Meters.Data.Uint32) * PI * BTSR[UFeeder_i].Radius_Meter; - //if(i == METERS_TOTAL_COUNTER_READ_HIGH_39) if(BTSR[UFeeder_i].Length_Resolution == HIGH) temp /=12.0; else - //if(i == METER_TOTAL_COUNTER_READ_HIGHEST_41) if(BTSR[UFeeder_i].Length_Resolution == HIGHEST) temp /=750.0; @@ -995,15 +966,6 @@ uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i) case DEVICE_INFORMATION_READ_10: BTSR_Info_Read(UFeeder_i); break; -// case METERS_TOTAL_COUNTER_READ_LOW_37: -// BTSR_Meters_Total_Counter_Read(UFeeder_i, LOW); -// break; -// case METERS_TOTAL_COUNTER_READ_HIGH_39: -// BTSR_Meters_Total_Counter_Read(UFeeder_i, HIGH); -// break; -// case METER_TOTAL_COUNTER_READ_HIGHEST_41: -// BTSR_Meters_Total_Counter_Read(UFeeder_i, HIGHEST); -// break; case METER_TOTAL_COUNTER_READ_37_39_41: BTSR_Meters_Total_Counter_Read(UFeeder_i, BTSR[UFeeder_i].Length_Resolution); break; @@ -1048,7 +1010,7 @@ void BTSR_Reset_Counters(UFeeder_Index UFeeder_i)// BTSR[UFeeder_i].Command[RESETS_ALL_THE_COUNTERS_36] = Set_Command; } -void BTSR_RML_Settings(UFeeder_Index UFeeder_i, uint8_t Application, uint8_t Yarn_Type, uint16_t Tension, uint16_t Tension_Err, uint16_t Alarm_Time ) +void BTSR_RML_Settings(UFeeder_Index UFeeder_i, BTSR_APPLICATION Application, BTSR_YARN_TYPE Yarn_Type, uint16_t Tension, uint16_t Tension_Err, uint16_t Alarm_Time ) { BTSR[UFeeder_i].Application = Application; BTSR[UFeeder_i].Yarn_Type = Yarn_Type; @@ -1072,6 +1034,7 @@ void BTSR_Init() BTSR[i].Flip_Display = true; BTSR[i].DirectionCCW = true; BTSR[i].Radius_Meter = BTSR_ROLLER_RADIUS; + BTSR[i].Lock_Keyboard_Menue = false; BTSR[i].Command[CONFIGURATION_SET_15] = Set_Command; BTSR[i].Command[DEVICE_INFORMATION_READ_10] = Read_Command; @@ -1082,7 +1045,13 @@ void BTSR_Init() BTSR_Reset_Length(i,HIGH); BTSR_Reset_Length(i,HIGHEST); } - - BTSR_RML_Settings(RUFeeder1, SHOES, ALL_YARNS3, 1000, 10, 5);//Test!!! --- need to move to RML + //Only for testing ------------------------------------------------------------------------------- +// BTSR_RML_Settings(RUFeeder1, SHOES, ALL_YARNS3, 1000, 10, 5);//Test!!! --- need to move to RML +// BTSR_Reset_Counters(RUFeeder1); +// BTSR_Reset_Status(RUFeeder1); +// BTSR_Reset_Length(RUFeeder1, HIGHEST); +// BTSR_Read_Length(RUFeeder1, HIGHEST); +// BTSR_Read_Errors_Status(RUFeeder1); + //------------------------------------------------------------------------------------------------ } diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.h b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.h index 28441b4d5..db8f2879b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.h +++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.h @@ -53,33 +53,34 @@ typedef enum typedef enum { - //BTSR_READ - DEVICE_INFORMATION_READ_10 ,//0 - ADVANCED_PROGRAMMING_READ_18 ,//1 - ADVANCED_TENSION_READ_23 ,//2 - APPLICATION_AND_YARN_TYPOLOGY_READ_28 ,//3 - ALARM_AND_ENABLING_STATUS_READ_30 ,//4 - PC_LINK_READ_32 ,//5 - METER_TOTAL_COUNTER_READ_37_39_41 ,//6 + //BTSR_READ (Read - The highest priority first) + METER_TOTAL_COUNTER_READ_37_39_41 ,//0 + ALARM_AND_ENABLING_STATUS_READ_30 ,//1 + PC_LINK_READ_32 ,//2 + ADVANCED_TENSION_READ_23 ,//3 + ADVANCED_PROGRAMMING_READ_18 ,//4 + APPLICATION_AND_YARN_TYPOLOGY_READ_28 ,//5 + DEVICE_INFORMATION_READ_10 ,//6 MAX_BTSR_READ ,//7 - //BTSR_SET - //return 0xFA/0xFB/0xF9 - DEVICE_CALIBRATION_11 ,//8 - BAUDRATE_SET_13 ,//9 - DISPLAY_LANGUAGE_SET_14 ,//10 + //BTSR_SET (Set - The highest priority first) + //Return 0xFA/0xFB/0xF9: + BAUDRATE_SET_13 ,//8 + DISPLAY_LANGUAGE_SET_14 ,//9 + DEVICE_CALIBRATION_11 ,//10 CONFIGURATION_SET_15 ,//11 ADVANCED_CONFIGURATION_SET_17 ,//12 - INPUT_CURRENT_CONTROL_SET_20 ,//13 - ADVANCED_TENSION_PROGRAMMING_21 ,//14 - ADVANCED_STYLE_LOAD_25 ,//15 - APPLICATION_AND_YARN_TYPOLOGY_SET_27 ,//16 - WORK_TENSION_AND_OPERATION_STATUS_SET_29 ,//17 - ALARM_STATUS_RESET_35 ,//18 - RESETS_ALL_THE_COUNTERS_36 ,//19 - //return device + Function code - METERS_TOTAL_COUNTER_RESET_38_40_42 ,//20 + //return device + Function code: + METERS_TOTAL_COUNTER_RESET_38_40_42 ,//13 + //Return 0xFA/0xFB/0xF9: + RESETS_ALL_THE_COUNTERS_36 ,//14 + ALARM_STATUS_RESET_35 ,//15 + WORK_TENSION_AND_OPERATION_STATUS_SET_29 ,//16 + ADVANCED_TENSION_PROGRAMMING_21 ,//17 + ADVANCED_STYLE_LOAD_25 ,//18 + APPLICATION_AND_YARN_TYPOLOGY_SET_27 ,//19 + INPUT_CURRENT_CONTROL_SET_20 ,//20 MAX_BTSR_SET //21 }BTSR_CMD; @@ -139,6 +140,7 @@ typedef struct uint8_t ID; bool DirectionCCW; bool Flip_Display; + bool Lock_Keyboard_Menue; float Radius_Meter; uint8_t Command[MAX_BTSR_SET]; uint8_t Application; @@ -171,7 +173,7 @@ void InitConsole_BTSR_UART4(int32_t ui32SysClock); uint8_t BTSR_State_Machine(UFeeder_Index UFeeder_i); void BTSR_Init(); -void BTSR_RML_Settings(UFeeder_Index UFeeder_i, uint8_t Application, uint8_t Yarn_Type, uint16_t Tension, uint16_t Tension_Err, uint16_t Alarm_Time ); +void BTSR_RML_Settings(UFeeder_Index UFeeder_i, BTSR_APPLICATION Application, BTSR_YARN_TYPE Yarn_Type, uint16_t Tension, uint16_t Tension_Err, uint16_t Alarm_Time ); void BTSR_Reset_Counters(UFeeder_Index UFeeder_i);//After errors void BTSR_Reset_Status(UFeeder_Index UFeeder_i);//After errors void BTSR_Reset_Length(UFeeder_Index UFeeder_i, uint8_t Length_Resolution);//Before job diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index fd861a985..c5fffff60 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -682,6 +682,11 @@ uint32_t MillisecLowLoop(uint32_t tick) WHS_Read_GPI_Registers(); Trigger_PT100_Read();//call every 50mSec (minimum delay 30mSec) //Set_HeadCard_PT100();//call every 50mSec (minimum delay 30mSec) + + #ifdef USE_UART4_FOR_BTSR + //call every 50mSec + BTSR_State_Machine(RUFeeder1); + #endif } if (m90msecTick) { @@ -735,11 +740,6 @@ uint32_t MillisecLowLoop(uint32_t tick) } } #endif - - #ifdef USE_UART4_FOR_BTSR - //call every 100mSec - BTSR_State_Machine(RUFeeder1); - #endif } if (Gradient_Tick) DispensersCollectionCall(); |
