aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-12-29 16:51:28 +0200
committerAvi Levkovich <avi@twine-s.com>2020-12-29 16:51:28 +0200
commit589f4d3ecc2674b8633b0a0f7d1acd16be6e1fc0 (patch)
tree6e45b12aef596ee3f6ed140f0a63d3a4e24cb143 /Software/Embedded_SW/Embedded
parentfd677e1ff6c421074f663e1dedf501303d9a6835 (diff)
downloadTango-589f4d3ecc2674b8633b0a0f7d1acd16be6e1fc0.tar.gz
Tango-589f4d3ecc2674b8633b0a0f7d1acd16be6e1fc0.zip
update BTSR
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.c53
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Uart_Comm/BTSR/BTSR.h48
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c10
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();