aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-05-20 11:52:10 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-05-20 11:52:10 +0300
commit4f5f566c04f9ae11fe871e20eaeb4adf43504bb7 (patch)
treec84b43b8c3d46a335bbeb7c8bcf3fca5cf1c091c /Software/Embedded_SW/Embedded/Modules
parent231591bb23fc74ffd038c2d58af1c8669e6cf61b (diff)
downloadTango-4f5f566c04f9ae11fe871e20eaeb4adf43504bb7.tar.gz
Tango-4f5f566c04f9ae11fe871e20eaeb4adf43504bb7.zip
fix current alarms (PP only). RFID stubs,
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c50
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c18
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c43
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c1
8 files changed, 72 insertions, 61 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 392be6177..9c924eaec 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -26,6 +26,7 @@
#include "drivers/FPGA/FPGA.h"
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
#include "drivers/I2C_Communication/Dispenser_Card/IO_Ports/Dispenser_IO.h"
+#include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h>
#include "drivers/I2C_Communication/Head_Card/ADC/Head_ADC.h"
#include "Common/SWUpdate/FileSystem.h"
#include "drivers/Flash_ram/MCU_E2Prom.h"
@@ -1213,7 +1214,7 @@ uint32_t AlarmHandlingLoop(uint32_t tick)
if (AlarmState[Alarm_i].Status == false)
ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
}
- if ((doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(isHeaterReady(AlarmItem[Alarm_i].DeviceId)==false))
+ if ((doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(isHeaterReady(AlarmItem[Alarm_i].DeviceId)==false)&&(doubleValue>100))
{
Status = true;
if (AlarmState[Alarm_i].Status == false)
@@ -1234,28 +1235,43 @@ uint32_t AlarmHandlingLoop(uint32_t tick)
}
else
{
- if (Get_Head_Current(AlarmItem[Alarm_i].DeviceId, &doubleValue) == OK)
- {
- if (AlarmItem[Alarm_i].AlarmDirection == true)
+ if (Head_Type < HEAD_TYPE_UNKNOWN_WITH_CARD) //no current alarms for old head
+ {
+ Status = false;
+ }
+ else
+ {
+ if (Get_Head_Current(AlarmItem[Alarm_i].DeviceId, &doubleValue) == OK)
{
- if ((doubleValue >= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmHighLimit)) || (doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit)))
+ if (AlarmItem[Alarm_i].AlarmDirection == true)
{
- Status = true;
- if (AlarmState[Alarm_i].Status == false)
- ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ if ((doubleValue >= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmHighLimit)) || (doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(doubleValue>100))
+ {
+ Status = true;
+ if (AlarmState[Alarm_i].Status == false)
+ {
+ //usnprintf(AlarmReasonStr, 100, "OverCurrent Alarm %d ON dev %d debounce %d/%d value %d",AlarmItem[Alarm_i].EventType,AlarmItem[Alarm_i].DeviceId,AlarmState[Alarm_i].DebounceCounter,AlarmItem[Alarm_i].DebounceValue,(int)(doubleValue*100));
+ //ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ }
+ }
}
- }
- else
- {
- if (doubleValue <= 0.1)
+ else
{
- Status = true;
- if (AlarmState[Alarm_i].Status == false)
- ReportWithPackageFilter(AlarmFilter,"loop break Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ if (doubleValue <= 0.1)
+ {
+ Status = true;
+ if (AlarmState[Alarm_i].Status == false)
+ {
+ //usnprintf(AlarmReasonStr, 100, "LOOP BREAK Alarm %d ON dev %d debounce %d/%d value %d",AlarmItem[Alarm_i].EventType,AlarmItem[Alarm_i].DeviceId,AlarmState[Alarm_i].DebounceCounter,AlarmItem[Alarm_i].DebounceValue,(int)(doubleValue*100));
+ //ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ ReportWithPackageFilter(AlarmFilter,"loop break Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0);
+ }
+ }
}
- }
- }
+ }
+ }
}
}
else
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index 7758ebd8b..71475ca41 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -559,21 +559,21 @@ void DiagnosticOneMinuteCollection(void)
DiagnosticsMonitor.headzone3heatercurrent = HeadCurrent[i];
i++;
}
- if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_HTIN_1) == true)
+ if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_ZONE_4) == true)
{
Get_Head_Current(HEAD_CURRENT_HTIN_1,&HeadCurrent[i][0]);
- DiagnosticsMonitor.n_headzone4heatercurrent = 1;
- DiagnosticsMonitor.headzone4heatercurrent = HeadCurrent[i];
+ DiagnosticsMonitor.n_headcoverheater1current= 1;
+ DiagnosticsMonitor.headcoverheater1current = HeadCurrent[i];
i++;
}
- if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_HTOT_1) == true)
+ if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_ZONE_5) == true)
{
Get_Head_Current(HEAD_CURRENT_HTOT_1,&HeadCurrent[i][0]);
- DiagnosticsMonitor.n_headzone5_6heatercurrent = 1;
- DiagnosticsMonitor.headzone5_6heatercurrent = HeadCurrent[i];
+ DiagnosticsMonitor.n_headcoverheater2current = 1;
+ DiagnosticsMonitor.headcoverheater2current = HeadCurrent[i];
i++;
}
- if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_HTIN_1) == true)
+ /*if (Get_Head_Heater_Current_Reading_State(HEAD_CURRENT_HTIN_1) == true)
{
Get_Head_Current(HEAD_CURRENT_HTIN_2,&HeadCurrent[i][0]);
DiagnosticsMonitor.n_headzone7heatercurrent = 1;
@@ -614,7 +614,7 @@ void DiagnosticOneMinuteCollection(void)
DiagnosticsMonitor.n_headzone12heatercurrent = 1;
DiagnosticsMonitor.headzone12heatercurrent = HeadCurrent[i];
i++;
- }
+ }*/
}
}
@@ -1347,6 +1347,8 @@ void DiagnosticsTask(UArg arg0, UArg arg1)
break;
case DiagnosticsOneSecTrigger:
DiagnosticOneSecCollection();
+ if (DiagnosticMode >= Diagnostic_Extreme_Mode)
+ DiagnosticOneMinuteCollection();
break;
case DiagnosticsOneMinuteTrigger:
DiagnosticOneMinuteCollection();
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 8c0bc3e73..885fc4472 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -327,7 +327,7 @@ void ProcessRequestFunc(MessageContainer* requestContainer)
if (status == 0)
status = HandleProcessParameters(ProcessParams,true);
- if ((status)&&(status !=ERROR_CODE__GENERAL_ERROR))
+ if ((status)&&(status != ERROR_CODE__GENERAL_ERROR)) //ignore init not ready result
{
responseContainer.has_error = true;
responseContainer.error = (ErrorCode)status;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 45a0e374b..44230a4f9 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1002,17 +1002,17 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
return OK;
}
+ if (getIdleState() == false)
+ {
+ ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
+ ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
+ AlarmHandlingSetAlarm(HeaterEventType[index], true);
+ }
}
DeActivateHeater(index);
HeaterRecalculateHeaterParams(index, 0);
HeaterMaxTempFlag[index] = true;
//ReportWithPackageFilter(HeatersFilter,(MinreadValue/100), "Heater Over the max temperature, turned off");
- if (getIdleState() == false)
- {
- ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0);
- ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0);
- AlarmHandlingSetAlarm(HeaterEventType[index], true);
- }
return OK;
}
else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue))
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 32895f307..d504ceebd 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -282,7 +282,7 @@ JobDescriptionFileBrushStop *FirstBrushStop = NULL;
SendJobProgress(0.0,0,false, "Processing file");
Control_WD(ENABLE,55); //activate heaters/dispenser watchdog, 0.5 seconds
}
- if ((brushCounter % 1000)==0)
+ if ((brushCounter % 1000)==900)
{
Task_sleep(200);
Report("Sleep in file parsing",__FILE__, BrushStop->index, brushCounter, RpWarning, Segment->brushstopscount, 0);
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
index 132d46fb7..7e75f31f9 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
@@ -10,9 +10,10 @@
#include "inc/hw_uart.h"
#include "driverlib/gpio.h"
-#include "Drivers/USB_Communication/USBCDCD.h"
#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
#include "Drivers/I2C_Communication/RFID_NFC/NFC.h"
+#include <Utilities/RfidTagHandling.h>
+#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include "Stub_Status.h"
@@ -23,36 +24,26 @@ void Stub_CartridgeReadRequest(MessageContainer* requestContainer)
StubCartridgeReadRequest* request = stub_cartridge_read_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ Cartridge CartridgeRead = CARTRIDGE__INIT;
+ CartridgeTagContent TagRead = CARTRIDGE_TAG_CONTENT__INIT;
+ NFC_Tag NFC_TagRead;
Init_RFID_Reader();
uint8_t readerID = request->cartridgeid;
Connect_to_RFID_Reder(readerID);//2
StubCartridgeReadResponse response = STUB_CARTRIDGE_READ_RESPONSE__INIT;
- response.cartridgeid = request->cartridgeid;
- response.has_cartridgeid = true;
+ response.cartridge = &CartridgeRead;
+ CartridgeRead.has_index = false;
+ CartridgeRead.has_slot = true;
+ CartridgeRead.slot = request->cartridgeid;
+ CartridgeRead.tag = &TagRead;
- response.cartridgecolor = (uid[6] << 24) | (uid[5] << 16) | (uid[4] << 8) | uid[3];
- //response.cartridgecolor
- response.has_cartridgecolor = true;
-
- response.cartridgeversion = (uid[2] << 16) | (uid[1] << 8) | uid[0];
- //response.cartridgeversion
- response.has_cartridgeversion = true;
-
- response.cartridgedata = RFID_Status;
- //response.cartridgedata
- response.has_cartridgedata = false;
-
- //response.cartridgeused
- response.has_cartridgeused = false;
-
- status_response(status,&response.status, &response.statusword ,&response.has_statusword);
-
-
- Write_status_response(status);
responseContainer = createContainer(MESSAGE_TYPE__StubCartridgeReadResponse, requestContainer->token, true, &response, &stub_cartridge_read_response__pack, &stub_cartridge_read_response__get_packed_size);
+ responseContainer.has_error = false;
+ responseContainer.error = ERROR_CODE__NONE;
+ responseContainer.errormessage = "PASSED";
//-------------------------------------------------------------------------------------------
uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer));
@@ -80,19 +71,19 @@ void Stub_CartridgeWriteRequest(MessageContainer* requestContainer)
StubCartridgeWriteResponse response = STUB_CARTRIDGE_WRITE_RESPONSE__INIT;
- response.cartridgeid = request->cartridgeid;
+ response.cartridgeid = request->cartridge->slot;
response.has_cartridgeid = true;
// char temp[7] = "PASSED";
// response.status = temp;
// response.statusword = OK;
// response.has_statusword = true;
- status_response(status,&response.status, &response.statusword ,&response.has_statusword);
- Write_status_response(status);
responseContainer = createContainer(MESSAGE_TYPE__StubCartridgeWriteResponse, requestContainer->token, true, &response, &stub_cartridge_write_response__pack, &stub_cartridge_write_response__get_packed_size);
-
+ responseContainer.has_error = false;
+ responseContainer.error = ERROR_CODE__NONE;
+ responseContainer.errormessage = "PASSED";
//-------------------------------------------------------------------------------------------
uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index 76aacb23e..f011e8a1f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -7,7 +7,7 @@
#include "drivers/Valves/Valve.h"
#include "Common/report/report.h"
#include "Modules/Waste/Waste.h"
-#include "common/utilities/RfidTagContent.h"
+#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include <PMR/Diagnostics/EventType.pb-c.h>
#include "Modules/AlarmHandling/AlarmHandling.h"
@@ -19,6 +19,7 @@
#include "Modules/IFS/ifs.h"
#include <Drivers/I2C_Communication/I2C_Task.h>
#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
+#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h>
//
//#define CARTRIDGE_INK_TIMEOUT 60
//#define CARTRIDGE_INK_TIMEOUTx2 120
@@ -73,7 +74,7 @@ void SetWasteLevelEmptyingLimit(double value);
-RfidTagContent cartridge_info;
+NFCTag_t cartridge_info;
// function for RFID:
bool WrRFIDStatus(cartridge_name active_cartridge, cartridge_status status);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
index 485b28ccc..c8169ebef 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
@@ -64,6 +64,7 @@ bool newWHS_init(void)
Trigger_WHS_Rheostat_init();
status |= WHS_I2C_EEprom_Read_Buf();
+ Trigger_WHS_I2C_EEprom_Read ( 0, sizeof(WHS_Eeprom.bytes), WHS_Eeprom.Buf);
//status |= WHS_IO_Init();
//status |= init_WHS_fan();
//