aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-08-06 08:15:53 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-08-06 08:15:53 +0300
commitdb2ff630640c1f2ae5df69a80a883dc8f5de17e1 (patch)
treea29ceb8184827181d0b6addab70d742f3b0b282b /Software/Embedded_SW/Embedded
parent266c4dd5f8ae09d7e601f7ef8a62642aba00dcb0 (diff)
downloadTango-db2ff630640c1f2ae5df69a80a883dc8f5de17e1.tar.gz
Tango-db2ff630640c1f2ae5df69a80a883dc8f5de17e1.zip
evaluation board adjustments, uart clock timer
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin.c15
-rw-r--r--Software/Embedded_SW/Embedded/Communication/CommunicationTask.c4
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.c4
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c9
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c8
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c76
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c5
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread.h3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c14
13 files changed, 109 insertions, 45 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin.c b/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin.c
index 5798b01ee..74411a066 100644
--- a/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin.c
+++ b/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin.c
@@ -73,6 +73,7 @@ PortFunctionInit(void)
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
+ MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART7);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART5);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
@@ -583,6 +584,20 @@ PortFunctionInit(void)
MAP_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_0);
//
+ // Configure the GPIO Pin Mux for PA0
+ // for U0RX
+ //
+ MAP_GPIOPinConfigure(GPIO_PA0_U0RX);
+ MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0);
+
+ //
+ // Configure the GPIO Pin Mux for PA1
+ // for U0TX
+ //
+ MAP_GPIOPinConfigure(GPIO_PA1_U0TX);
+ MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_1);
+
+ //
// Enable pin PC7 for UART5 U5TX
//
MAP_GPIOPinConfigure(GPIO_PC7_U5TX);
diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c
index b6841ef7e..4051c57e6 100644
--- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c
+++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c
@@ -95,7 +95,7 @@ void communicationTask(UArg arg0, UArg arg1)
initArray(1);
//ui32RxCount = 0;
- CommunicationRxMsgQ = Mailbox_create(sizeof(CommRxMessageStruc), 5, NULL,NULL);
+ CommunicationRxMsgQ = Mailbox_create(sizeof(CommRxMessageStruc), 4, NULL,NULL);
/* Block while the device is NOT connected to the USB */
// Semaphore_pend(initConnectionSem, BIOS_WAIT_FOREVER);
@@ -166,7 +166,7 @@ void communicationTxTask(UArg arg0, UArg arg1)
SetCommunicationPath(isUART);
#endif
//ui32RxCount = 0;
- CommunicationTxMsgQ = Mailbox_create(sizeof(CommTxMessageStruc), 10, NULL,NULL);
+ CommunicationTxMsgQ = Mailbox_create(sizeof(CommTxMessageStruc), 4, NULL,NULL);
/* Block while the device is NOT connected to the USB */
// Semaphore_pend(initConnectionSem, BIOS_WAIT_FOREVER);
diff --git a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.c b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.c
index 9659e5ff5..8a656ea0e 100644
--- a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.c
+++ b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.c
@@ -279,6 +279,7 @@ Void ADCProcessTask(UArg arg0, UArg arg1)
void ADCAcquireInit(void) // (called by MillisecInit)
{
uint32_t ui32Chan, ui32Base, ui32Seq;
+#ifndef EVALUATION_BOARD
//Avaraging 8 //TODO
//MAP_ADCHardwareOversampleConfigure(ADC0_BASE, 8);
@@ -353,6 +354,7 @@ void ADCAcquireInit(void) // (called by MillisecInit)
//InitI2C();
}
+#endif
}
//*****************************************************************************
@@ -364,6 +366,7 @@ void ADCAcquireInit(void) // (called by MillisecInit)
//*****************************************************************************
void ADCAcquireStart(ProcessCallback _callback, uint32_t _period) // (called by MillisecStart)
{
+#ifndef EVALUATION_BOARD
//
// Enable the ADC sequencers
//
@@ -394,6 +397,7 @@ void ADCAcquireStart(ProcessCallback _callback, uint32_t _period) // (called by
//
// Logging data should now start running
//
+#endif
}
//*****************************************************************************
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
index 736ce35fe..4d10b6b7c 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c
@@ -375,6 +375,7 @@ uint32_t Control_WD(bool IsEnable, unsigned char SetTimer_Steps100mSec) // Contr
* the control register will take the value it had before to be resetted.
*/
{
+#ifndef EVALUATION_BOARD
if (IsEnable == DISABLE)
{
F2_Watchdog_reg = 0;
@@ -383,6 +384,7 @@ uint32_t Control_WD(bool IsEnable, unsigned char SetTimer_Steps100mSec) // Contr
{
F2_Watchdog_reg = 0x4000 | SetTimer_Steps100mSec; // Enable the watchdog
}
+#endif
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
index 7ccba0545..1fda224ca 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
@@ -54,7 +54,7 @@ static GPIOIntPortMap portMap[MAX_HEATERS_NUM] =
uint32_t ActivateHeater (int HeaterId)
{
assert(HeaterId < MAX_HEATERS_NUM);
-
+#ifndef EVALUATION_BOARD
if(HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5)
{
F1_gpo_01 |= portMap[HeaterId].m_pin;
@@ -67,7 +67,7 @@ uint32_t ActivateHeater (int HeaterId)
{
F2_CTRL |= portMap[HeaterId].m_pin;
}
-
+#endif
//---------------------------------------------------------------------------------------
// if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn On FPGA LED
// F3_GPO_01_bus |= (0x01 << HeaterId);
@@ -97,7 +97,7 @@ uint32_t ActivateHeater (int HeaterId)
uint32_t DeActivateHeater (int HeaterId)
{
assert(HeaterId < MAX_HEATERS_NUM);
-
+#ifndef EVALUATION_BOARD
if(HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5)
{
F1_gpo_01 &= ~portMap[HeaterId].m_pin;
@@ -110,7 +110,8 @@ uint32_t DeActivateHeater (int HeaterId)
{
F2_CTRL &= ~portMap[HeaterId].m_pin;
}
- //---------------------------------------------------------------------------------------
+#endif
+//---------------------------------------------------------------------------------------
// if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn Off FPGA LED
// F3_GPO_01_bus &= ~(0x01 << HeaterId);
// else
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
index 71d0efa62..e455b1f1c 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
@@ -398,9 +398,9 @@ uint32_t TemperatureSensorReadFromFPGA_Res(TEMPERATURE_SENSOR_ID_ENUM SensorId)
//uint32_t Data;
//TemperatureSendSensorDummyClk(SensorId);//TODO check if it is ok to add it here without deley !!!!!!!
-
+#ifndef EVALUATION_BOARD
SPIGetFPGAResponse(SensorId, &Data);
-
+#endif
// INT2CHAR Int2Char; // TODO to open and test to limit to 24 bit (It should be read 3 low bytes only)
// Int2Char.uint = Data;
// Int2Char.uchar.UCHAR_3 = 0;
@@ -437,9 +437,9 @@ uint32_t TemperatureSensorReadRegFromFPGA_Res(TEMPERATURE_SENSOR_ID_ENUM SensorI
uint32_t Status = OK;
uint32_t Data;
-
+#ifndef EVALUATION_BOARD
SPIGetFPGAResponse(SensorId, &Data);
-
+#endif
Short2Char.uint = Data;
Read_Reg[SensorId][Reg] = Short2Char.uchar.LSB;
diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c
index bb762fdde..b970ccef3 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c
@@ -7,6 +7,8 @@
#include <stdint.h>
#include <string.h>
+#include <ti/sysbios/knl/Clock.h>
+
#include <driverlib/gpio.h>
#include <driverlib/pin_map.h>
#include <driverlib/rom.h>
@@ -98,11 +100,34 @@ int dataindex=0;
void UARTIntHandler(UArg arg0);
+static Clock_Handle UartClock;
+static Clock_Params clkParams;
+//*****************************************************************************
+// ManualClockHandle: clock event handler - initiates trigger for the user profile
+//*****************************************************************************
+#define UartClockTimeout 5000 // 5 seconds
+static void UartClockHandle(UArg arg0)
+{
+ if (U0_expected_message_size ==0)
+ {
+ U0_size_bar = 0;
+ }
+ Clock_setTimeout(UartClock, UartClockTimeout);
+ Clock_start(UartClock);
+}
+
//*****************************************************************************
//
// The UART Initialization.
//
//*****************************************************************************
+#ifdef EVALUATION_BOARD
+#define UART_BASE UART0_BASE
+#define UART_INT INT_UART0
+#else
+#define UART_BASE UART0_BASE
+#define UART_INT INT_UART0
+#endif
void Init_U0(void)
{
ROM_IntMasterDisable();
@@ -111,32 +136,37 @@ void Init_U0(void)
//
// Configure and enable UART interrupts.
//
- ROM_UARTIntClear(UART0_BASE, ROM_UARTIntStatus(UART0_BASE, false));
+ ROM_UARTIntClear(UART_BASE, ROM_UARTIntStatus(UART_BASE, false));
- //MAP_UARTIntRegister(INT_UART0,UARTIntHandler,0);
+ //MAP_UARTIntRegister(UART_INT,UARTIntHandler,0);
/* Install interrupt handler */
Error_Block eb;
Error_init(&eb);
Hwi_Handle hwi;
- hwi = Hwi_create(INT_UART0, UARTIntHandler, NULL, &eb);// int number 21 Embedded.cfg
+ hwi = Hwi_create(UART_INT, UARTIntHandler, NULL, &eb);// int number 21 Embedded.cfg
if (hwi == NULL)
{
System_abort("Can't create UART Hwi");
}
-// ROM_UARTIntEnable(UART0_BASE, /*UART_INT_TX |*/ UART_INT_RX );
- ROM_UARTIntEnable(UART0_BASE, (UART_INT_RT | UART_INT_RX));
-// ROM_UARTIntEnable(UART0_BASE, (UART_INT_OE | UART_INT_BE | UART_INT_PE |
+ Clock_Params_init(&clkParams);
+ clkParams.period = 0;
+ clkParams.startFlag = FALSE;
+ UartClock = Clock_create(UartClockHandle, 0, &clkParams, NULL);
+
+// ROM_UARTIntEnable(UART_BASE, /*UART_INT_TX |*/ UART_INT_RX );
+ ROM_UARTIntEnable(UART_BASE, (UART_INT_RT | UART_INT_RX));
+// ROM_UARTIntEnable(UART_BASE, (UART_INT_OE | UART_INT_BE | UART_INT_PE |
// UART_INT_FE | UART_INT_RT /*| UART_INT_TX */| UART_INT_RX));
- ROM_UARTEnable(UART0_BASE);
+ ROM_UARTEnable(UART_BASE);
- UARTFIFODisable(UART0_BASE);
+ UARTFIFODisable(UART_BASE);
//
// Enable interrupts now that the application is ready to start.
//
- ROM_IntEnable(INT_UART0);
+ ROM_IntEnable(UART_INT);
ROM_IntMasterEnable();
}
@@ -147,19 +177,19 @@ void Init_U0(void)
//*****************************************************************************
void UART_ResetBuffers(void)
{
- ROM_UARTIntClear(UART0_BASE, ROM_UARTIntStatus(UART0_BASE, false));
+ ROM_UARTIntClear(UART_BASE, ROM_UARTIntStatus(UART_BASE, false));
/*
UartResetProcess = true;
- while (UARTCharsAvail(UART0_BASE)) //empty rx buffer
+ while (UARTCharsAvail(UART_BASE)) //empty rx buffer
{
;
}
- ROM_UARTDisable(UART0_BASE);
+ ROM_UARTDisable(UART_BASE);
U0_expected_message_size = 0;
U0_current_message_size = 0;
U0_size_bar = 0;
SysCtlDelay(200000);
- ROM_UARTEnable(UART0_BASE);
+ ROM_UARTEnable(UART_BASE);
UartResetProcess = false;
*/
}
@@ -176,7 +206,7 @@ void UARTIntHandler(UArg arg0)
//
// Get the interrrupt status.
//
- ui32Status = ROM_UARTIntStatus(UART0_BASE, true);
+ ui32Status = ROM_UARTIntStatus(UART_BASE, true);
// if (ui32Status&UART_INT_OE) uart_INT_OECounter++;
// if (ui32Status&UART_INT_BE) uart_INT_BECounter++;
// if (ui32Status&UART_INT_PE) uart_INT_PECounter++;
@@ -187,13 +217,13 @@ void UARTIntHandler(UArg arg0)
//
// Clear the asserted interrupts.
//
- ROM_UARTIntClear(UART0_BASE, ui32Status);
+ ROM_UARTIntClear(UART_BASE, ui32Status);
- while(ROM_UARTCharsAvail(UART0_BASE))
+ while(ROM_UARTCharsAvail(UART_BASE))
{
if (U0_expected_message_size == 0)
{
- size[U0_size_bar++] = (char)ROM_UARTCharGetNonBlocking(UART0_BASE);
+ size[U0_size_bar++] = (char)ROM_UARTCharGetNonBlocking(UART_BASE);
Uart_rx_TotalCounter++;
if (U0_size_bar == 4)
{
@@ -213,13 +243,15 @@ void UARTIntHandler(UArg arg0)
else
{
- ui8Char = (char)ROM_UARTCharGetNonBlocking(UART0_BASE);
+ ui8Char = (char)ROM_UARTCharGetNonBlocking(UART_BASE);
Uart_rx_TotalCounter++;
insertArray(ui8Char);
U0_current_message_size++;
if (U0_current_message_size == U0_expected_message_size)
{
+ Clock_setTimeout(UartClock, UartClockTimeout);
+ Clock_start(UartClock);
Uart_rx_Counter+=(4+U0_current_message_size);
CommunicationTaskMessageReceived(U0_current_message_size);
U0_expected_message_size = 0;
@@ -253,18 +285,18 @@ uint32_t Uart_Tx(char *buffer,size_t length)
Uart_tx_Counter+=(4+length);
while (i < 4)
{
- if (ROM_UARTSpaceAvail(UART0_BASE))
+ if (ROM_UARTSpaceAvail(UART_BASE))
{
- ROM_UARTCharPut(UART0_BASE,size[i++]);
+ ROM_UARTCharPut(UART_BASE,size[i++]);
}
}
while ((sentlength < length) && (UartResetProcess==false))
{
- if (ROM_UARTSpaceAvail(UART0_BASE))
+ if (ROM_UARTSpaceAvail(UART_BASE))
{
- ROM_UARTCharPut(UART0_BASE,buffer[sentlength++]);
+ ROM_UARTCharPut(UART_BASE,buffer[sentlength++]);
}
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
index 9ea2c3ed8..3c7b9847a 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c
@@ -220,6 +220,7 @@ uint32_t FPGA_GetDispenserValveBusyOCD(uint32_t ValveId, uint32_t dummy) // Mill
}
void FPGA_GetAllDispensersValveBusyOCD() // MillisecLoop
{
+#ifndef EVALUATION_BOARD
VALVE_BUSY_REG Valve_Busy_Reg;
Valve_Busy_Reg.ushort = F2_DISPENSER_VALVE_IN_Direct;
@@ -248,6 +249,7 @@ void FPGA_GetAllDispensersValveBusyOCD() // MillisecLoop
ValveRsponse[VALVE_DISPENSER_8].OCD = Valve_Busy_Reg.bits.F2_DISPENSER_VALVE_OCD_8;
ValveRsponse[VALVE_DISPENSER_8].Busy = Valve_Busy_Reg.bits.Valve_busy_7;
+#endif
}
void EnableDisableDispenserValve(Valves_t Valve_Id, bool EnableOrDisable )
@@ -290,6 +292,7 @@ void EnableDisableDispenserValve(Valves_t Valve_Id, bool EnableOrDisable )
//
void EnableDisableAllDispensersValves(bool EnableOrDisable )
{
+#ifndef EVALUATION_BOARD
if(EnableOrDisable == ENABLE)
{
F2_DISPENSER_VALVE_OUT |= MASK_HIGH_BYTE_IN_WORD;
@@ -298,7 +301,7 @@ void EnableDisableAllDispensersValves(bool EnableOrDisable )
{
F2_DISPENSER_VALVE_OUT &= ~MASK_HIGH_BYTE_IN_WORD;
}
-
+#endif
}
void Valve_Set(Valves_t Valve_Id, bool Direction)
diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg
index 85098f001..7eaf78fb5 100644
--- a/Software/Embedded_SW/Embedded/Embedded.cfg
+++ b/Software/Embedded_SW/Embedded/Embedded.cfg
@@ -15,9 +15,9 @@ var GIO = xdc.useModule('ti.sysbios.io.GIO');
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
var Task = xdc.useModule('ti.sysbios.knl.Task');
-BIOS.heapSize = 48767;
-Memory.defaultHeapSize = 48767;
-Program.heap = 48767;
+BIOS.heapSize = 30767; // bios heapmem
+//Memory.defaultHeapSize = 48767;
+Program.heap = 16767; //sysmem
Clock.timerId = 7;
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index e2ff16d5a..cc0d00f20 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -387,14 +387,14 @@ uint32_t MillisecLoop(uint32_t tick)
{
Speed_Data = Read_Speed_Sensor();
}
-/* if (Tick98)
+ /*if (Tick98)
{
MotorGetSpeedFromFPGA(HARDWARE_MOTOR_TYPE__MOTO_RDRIVING);
MotorGetSpeedFromFPGA(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING);
MotorGetSpeedFromFPGA(HARDWARE_MOTOR_TYPE__MOTO_LDRIVING);
MotorGetSpeedFromFPGA(HARDWARE_MOTOR_TYPE__MOTO_WINDER);
MotorGetSpeedFromFPGA(HARDWARE_MOTOR_TYPE__MOTO_SCREW);
- }/*
+ }*/
if (Hundred_msTick)
{
for (Sensor_i = 0;Sensor_i < MAX_TEMPERATURE_SENSOR_ID;Sensor_i++)
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index 60322b4d7..6a9735c13 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -293,8 +293,10 @@ uint32_t ControlLoop(uint32_t tick)
bool Ten_msTick, Hundred_msTick, Onesecond_Tick,Tick98,Tick998;
Ten_msTick = (tick%eTenMillisecond == 0) ?true:false;
Hundred_msTick = (tick%eHundredMillisecond == 0) ?true:false;
+// Hundred_msTick = (tick%200 == 0) ?true:false;
Onesecond_Tick = (tick%eOneSecond == 0) ?true:false;
- Tick98 = (tick%eHundredMillisecond == 99) ?true:false;
+ Tick98 = (tick%eHundredMillisecond == 98) ?true:false;
+// Tick98 = (tick%200 == 199) ?true:false;
Tick998 = (tick%eOneSecond == 996) ?true:false;
//ROM_IntMasterDisable();
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h
index d37015b61..3a0b25ba8 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h
@@ -2,7 +2,6 @@
#ifndef MODULES_THREAD_THREAD_H_
#define MODULES_THREAD_THREAD_H_
-#include "../../Drivers/SSI_Comm/SSI_Comm.h"
#include "PMR/common/MessageContainer.pb-c.h"
#include "PMR/Hardware/HardwareMotor.pb-c.h"
#include "PMR/Hardware/HardwareMotorType.pb-c.h"
@@ -14,6 +13,8 @@
#include "PMR/Printing/JobSpoolType.pb-c.h"
#include "drivers/Motors/Motor.h"
+#include "drivers/Danser_SSI/ssi_comm.h"
+
#include "thread_ex.h"
typedef struct
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 89a85221d..fbf5cb811 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -566,13 +566,17 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
//MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_RDRIVING, OriginalMotorSpd_2PPS[FEEDER_MOTOR]);
//#warning rocker disabled
- if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].has_directionthreadwize)
+ if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].maxfrequency > 0)
+ {
MotorSetDirection((TimerMotors_t)HARDWARE_MOTOR_TYPE__MOTO_RLOADING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].directionthreadwize);
- MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, 2);
- if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].has_directionthreadwize)
+ MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, 2);
+ }
+ if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].maxfrequency > 0)
+ {
MotorSetDirection((TimerMotors_t)HARDWARE_MOTOR_TYPE__MOTO_LLOADING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].directionthreadwize);
- MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, 2);
-//#warning rocker disabled
+ MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, 2);
+ }
+ //#warning rocker disabled
// MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].directionthreadwize, 0, GPI_LS_RLOADMOTOR_UP, EndState); //TODO