aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2021-01-04 11:52:20 +0200
committerAvi Levkovich <avi@twine-s.com>2021-01-04 11:52:20 +0200
commit7c3e54578ae6f2c01ec05ebc7f7e0f873955bb33 (patch)
tree3eb92323c29633dde9df39666ece64815ff7da98 /Software
parent6a2aa48d486a9f83449d7e2c5e85b62649763c49 (diff)
parentb0dc79e93c1a17667211bff5c7e48eb2d69ad386 (diff)
downloadTango-7c3e54578ae6f2c01ec05ebc7f7e0f873955bb33.tar.gz
Tango-7c3e54578ae6f2c01ec05ebc7f7e0f873955bb33.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin_config.c1
-rw-r--r--Software/Embedded_SW/Embedded/Communication/Connection.c4
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c4
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c11
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c6
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c4
-rw-r--r--Software/Embedded_SW/Embedded/Main.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c17
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c26
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c17
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/FSE Installer.aip6
-rw-r--r--Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip14
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Diagnostics/diagnostics.tdp206
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Help/proc-doc.chmbin245831 -> 245831 bytes
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeGeneratedViewVM.cs5
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeViewVM.cs5
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeGeneratedViewVM.cs5
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeViewVM.cs5
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteUpgrade/DefaultRemoteUpgradeManager.cs3
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs32
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs16
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs9
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml10
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest2
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/Segment.cs17
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Controls/SearchComboBox.cs20
-rw-r--r--Software/Visual_Studio/Tango.Touch/Controls/TouchNotificationBar.cs33
34 files changed, 330 insertions, 170 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin_config.c b/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin_config.c
index 10fbdfafa..4e7e5364d 100644
--- a/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin_config.c
+++ b/Software/Embedded_SW/Embedded/Common/Sys_PinOut_Config/Pin_config.c
@@ -1,5 +1,6 @@
#include <stdbool.h>
#include <stdint.h>
+#include <DataDef.h>
#include <driverlib/gpio.h>
#include <inc/hw_memmap.h>
diff --git a/Software/Embedded_SW/Embedded/Communication/Connection.c b/Software/Embedded_SW/Embedded/Communication/Connection.c
index ec15c1596..c33f3710c 100644
--- a/Software/Embedded_SW/Embedded/Communication/Connection.c
+++ b/Software/Embedded_SW/Embedded/Communication/Connection.c
@@ -193,7 +193,7 @@ void KeepAliveRequestFunc(MessageContainer* requestContainer)
//keep_alive_request__free_unpacked(request,NULL);
}
-int KARequestId = 0x01010101;
+int KARequestId = 0x41414141;
char KARequestToken[36+1];
void KeepAliveResponseFunc(MessageContainer* requestContainer)
{
@@ -215,7 +215,7 @@ void KeepAliveRequest1Second(void)
KeepAliveResponse request = KEEP_ALIVE_REQUEST__INIT;
- strcpy(KARequestToken,"Happy days are coming to us, soon");
+ strcpy(KARequestToken,"Happy days are coming to us, soonZYX");
memcpy(&KARequestToken[32],&KARequestId,sizeof(KARequestId));
KARequestId++;
//Report("keepalive request sent",__FILE__,__LINE__,KARequestId,RpWarning,msec_millisecondCounter, 0);
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
index 0b308408c..62d283f0b 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.c
@@ -358,8 +358,12 @@ uint32_t Get_Dryer_Fan_Tacho()
}
uint32_t Read_Dryer_Fan_Tacho()
{
+#ifndef EVALUATION_BOARD
Drayer_Fan_Speed_RPM = Calculate_Tacho_Fan_Speed(FPGA_Freq, 12, F1_Prescaler1_reg5, F1_Tacho_reg8);
return Drayer_Fan_Speed_RPM;
+#else
+ return 100;
+#endif
}
void Control_Dryer_Fan_PWM(uint8_t PWM_Command_Precent)// 0 - 100%
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 e9c674b25..c3ce35868 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
@@ -482,9 +482,10 @@ uint32_t ActivateCleanerPump()
uint32_t DeActivateCleanerPump()
{
-
+#ifndef EVALUATION_BOARD
F2_CTRL_Reg.ushort &= ~CLEANER_PUMP_SSR3_CTRL;
F2_CTRL = F2_CTRL_Reg.ushort;
+#endif
return OK;
}
//----------------------------------
@@ -494,16 +495,20 @@ void Power_Off()//Power Down
#ifdef WATCHDOG
ROM_WatchdogResetDisable(WATCHDOG0_BASE);
#endif
+#ifndef EVALUATION_BOARD
F2_CTRL_Reg.ushort |= PDOWN_RL1_CTRL;
F2_CTRL = F2_CTRL_Reg.ushort;
+#endif
}
void Power_Reset()// Resets the MCU
{
utilsStoreLocalTime();
+#ifndef EVALUATION_BOARD
F3_SW_RESET_reg &= ~BIT0;
SysCtlDelay(1000);
F3_SW_RESET_reg |= BIT0;
+#endif
SysCtlReset();
}
@@ -511,15 +516,19 @@ void Power_Reset()// Resets the MCU
uint32_t ActivateChiller() //WHS Cooler / WHS DX Cooler
{
+#ifndef EVALUATION_BOARD
F2_CTRL_Reg.ushort |= CHILLER_SSR9_CTRL;
F2_CTRL = F2_CTRL_Reg.ushort;
+#endif
return OK;
}
uint32_t DeActivateChiller() //WHS Cooler / WHS DX Cooler
{
+#ifndef EVALUATION_BOARD
F2_CTRL_Reg.ushort &= ~CHILLER_SSR9_CTRL;
F2_CTRL = F2_CTRL_Reg.ushort;
+#endif
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
index 765ba1a7a..36a349682 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
@@ -132,6 +132,7 @@ uint8_t FPGA_SSI_Dryer_ENC_Transnit()
uint32_t FPGA_SSI_Dryer_ENC_Receive()
{
+#ifndef EVALUATION_BOARD
INT2SHORT Int2Short;
unsigned int temp;
@@ -147,6 +148,6 @@ uint32_t FPGA_SSI_Dryer_ENC_Receive()
Dryer_ENC.Gen_status = temp & 0x3;
temp = temp >> 2;
Dryer_ENC.Position = (temp & 0x3FFF);
-
+#endif
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c
index 57b57a41d..307d815ee 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c
@@ -156,8 +156,10 @@ uint32_t Turn_the_Blower_On()
voltage = Default_Voltage;
if (WHS_Type == WHS_TYPE_UNKNOWN)
{
+#ifndef EVALUATION_BOARD
status = Write_Control_Register();
status |= Write_DAC_and_Input_Register(DAC_mV2Bits(Default_Voltage));
+#endif
}
else //new WHS
{
@@ -177,7 +179,9 @@ uint32_t Control_Voltage_To_Blower(uint32_t mV)
}
if (WHS_Type == WHS_TYPE_UNKNOWN)
{
+#ifndef EVALUATION_BOARD
status |= Write_DAC_and_Input_Register(DAC_mV2Bits(mV));
+#endif
}
else //new WHS
{
@@ -196,7 +200,9 @@ uint32_t Turn_the_Blower_Off()
if (WHS_Type == WHS_TYPE_UNKNOWN)
{
+#ifndef EVALUATION_BOARD
status |= Write_DAC_and_Input_Register(0);
+#endif
}
else //new WHS
{
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.c
index c04cabc4a..0593342b1 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.c
@@ -137,7 +137,7 @@ uint32_t Reset_and_Check_IFS_Availability(PANEL_BUTTON_OR_CRAT_ID Cart_ID)
// IFS_Availability[Cart_ID-1] = IFS_RECOGNIZED;
// }
#else
- IFS_Availability[Cart_ID-1] = WITHOUT_IFS;
+ IFS_Availability[Cart_ID-1] = IFS_AVAILABILITY_UNKNOWN;
#endif
return status;
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
index 71d26888d..cfa8c2382 100644
--- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
+++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
@@ -86,13 +86,15 @@ void MCU_E2PromUpdateResetReason(int i)
uint32_t Head;
uint32_t RESC = SysCtlResetCauseGet();
+#ifndef EVALUATION_BOARD
+
EEPROMRead(&Head,EEPROM_RESET_REASON_HEAD_ADDRESS, 4);
if (Head>=EEPROM_RESET_REASON_MAX_DATA) Head=0;
Head++;
RESC+=(i*0x1000);
EEPROMProgram(&Head, EEPROM_RESET_REASON_HEAD_ADDRESS, 4);
EEPROMProgram(&RESC, (EEPROM_RESET_REASON_HEAD_ADDRESS+(Head*4)), 4);
-
+#endif
}
/*************************************************/
diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c
index 9c647e847..c8e2e80b9 100644
--- a/Software/Embedded_SW/Embedded/Main.c
+++ b/Software/Embedded_SW/Embedded/Main.c
@@ -314,6 +314,7 @@ int main(void)
HibernateCalendarSet(&LocalTime);
}
OpenLogFile();
+#ifndef EVALUATION_BOARD
Data = MCU_E2PromEmbeddedVersionRead();
memcpy (&Version,&Data,4);
i = memcmp(&Version,&_gTangoVersion,4);
@@ -325,7 +326,7 @@ int main(void)
MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
}
MCU_E2PromRead(EEPROM_INIT_FAILURE_COUNTER,&InitFailures);
-
+#endif
Init_All_I2C();
#ifndef EVALUATION_BOARD
Block_Main_MUX_TCA9548A_0xE4();//unused, same i2c as head and whs cards
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index c5fffff60..f9401c248 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -618,7 +618,7 @@ uint16_t realtimetest[101];
uint16_t dbgflag[50];
uint32_t dbttime[50];
bool Ten_msTick, Fifty_msTick, Hundred_msTick , m20msecTick,m90msecTick, Onesecond_Tick,Tensecond_Tick,OneMinute_Tick,TenMinutes_Tick,OneHourTick,Gradient_Tick;
-bool O700Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick;
+bool O700Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick,m50msecTick;
uint32_t MillisecLowLoop(uint32_t tick)
{
@@ -636,7 +636,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
Fifty_msTick = (tick%eHundredMillisecond == 40) ?true:false; //eFiftyMillisecond
Hundred_msTick = (tick%eHundredMillisecond == 0) ?true:false;
m20msecTick = (tick%eHundredMillisecond == 20) ?true:false;
- //m70msecTick = (tick%eHundredMillisecond == 70) ?true:false;
+ m50msecTick = (tick%50== 0) ?true:false;
m90msecTick = (tick%eHundredMillisecond == 90) ?true:false;
O700Millisecond_Tick = (tick%eOneSecond == 700) ?true:false;
O200Millisecond_Tick = (tick%eOneSecond == 200) ?true:false;
@@ -672,6 +672,14 @@ uint32_t MillisecLowLoop(uint32_t tick)
dbgflag[2]++;
dbttime[2] = msec_millisecondCounter;
Read_Dryer_ENC_Position();
+ dbgflag[3]++;
+ }
+ if (m50msecTick) //50 milli
+ {
+#ifdef USE_UART4_FOR_BTSR
+ //call every 50mSec
+ BTSR_State_Machine(RUFeeder1);
+#endif
}
if (m20msecTick)
{
@@ -682,11 +690,6 @@ 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)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 19507775e..71bae1f40 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -1376,8 +1376,8 @@ uint32_t IDSCheckSegmentData(void *SegmentDetails, int SegmentId)
//for (Brush_i=JobBrushStopId;Brush_i<PrevSegment->brushstopscount;Brush_i++) #bug 3348 - unhandled jobstops stops too soon
for (Brush_i=JobBrushStopId;Brush_i<PrevSegment->brushstopscount;Brush_i++)
{
- if (status == ERROR)
- break;
+ //if (status == ERROR)
+ // break;
tFileBrushStop = GetNextBrushStopFromJobFile();
if (tFileBrushStop)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 2c67a623b..5b0cf9cb7 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -49,7 +49,7 @@ double MidTankEmptyLimit = MidTank_Pressure_EMPTY;
MidTankStateEnum midTankState = 0;
char CartridgeRequestToken[36+1];
-int CartridgeRequestId = 0x01010101;
+int CartridgeRequestId = 0x31313131;
bool RdInkCartridgeSensor()
{
@@ -199,7 +199,7 @@ uint32_t ReadInkCartridgeData()
CartridgeValidationRequest ValidationReq = CARTRIDGE_VALIDATION_REQUEST__INIT;
Cartridge CartridgeData;
- strcpy(CartridgeRequestToken,"Happy days are coming to us, soon");
+ strcpy(CartridgeRequestToken,"Happy days are coming to us, soonXXX");
memcpy(&CartridgeRequestToken[32],&CartridgeRequestId,sizeof(CartridgeRequestId));
CartridgeRequestId++;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index ffbb504db..2b1e52134 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -320,8 +320,21 @@
{
TimeoutsCounter = 0;
load.color = fastBILNK;
- usnprintf(LoadErrorMsg, 100, "/Stage %s - %s timeout",LoadStagesStr[LoadStages], MotorStr[MotorId]);
- Report(LoadErrorMsg,__FILE__,__LINE__,LoadStages,RpWarning,TimeoutsCounter,0);
+ if (LoadStages == THREAD_LOAD_INITIAL_TENSION)
+ {
+ usnprintf(LoadErrorMsg, 100, "/Stage %s - no cone in winder!!",LoadStagesStr[LoadStages]);
+ Report(LoadErrorMsg,__FILE__,__LINE__,LoadStages,RpWarning,TimeoutsCounter,0);
+ }
+ else if (LoadStages == THREAD_LOAD_JOG_THREAD)
+ {
+ usnprintf(LoadErrorMsg, 100, "/Stage %s - Dryer door is open!!",LoadStagesStr[LoadStages]);
+ Report(LoadErrorMsg,__FILE__,__LINE__,LoadStages,RpWarning,TimeoutsCounter,0);
+ }
+ else
+ {
+ usnprintf(LoadErrorMsg, 100, "/Stage %s - %s timeout",LoadStagesStr[LoadStages], MotorStr[MotorId]);
+ Report(LoadErrorMsg,__FILE__,__LINE__,LoadStages,RpWarning,TimeoutsCounter,0);
+ }
LoadStatus = ERROR;
ThreadLoadingReport();
@@ -447,13 +460,13 @@
{
REPORT_MSG(LoadStages, "Thread Load State Machine step Thread_Load_Initial_Tension");
load.color = BLINK;
+ CallbackCounter++;
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
{
REPORT_MSG(LIMIT, "No cone in winder");
Thread_Load_HomingCallback(HARDWARE_MOTOR_TYPE__MOTO_WINDER,NO_LIMIT);
//return ERROR;
}
- CallbackCounter++;
MotorMovetoBreakSensor (HARDWARE_MOTOR_TYPE__MOTO_WINDER,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_WINDER].directionthreadwize, 500, Thread_Load_HomingCallback,10000);
return OK;
@@ -805,6 +818,13 @@
//Jog Thread Shortly To Make Sure Spool Is Running. Report End Of Loading
{
REPORT_MSG(LoadStages, "Thread Load State Machine step Thread_Load_Jog_Thread");
+ if (Get_COVER_1_State(DryerDoor))
+ {
+ CallbackCounter++;
+ REPORT_MSG(LIMIT, "Dryer door open");
+ Thread_Load_HomingCallback(HARDWARE_MOTOR_TYPE__MOTO_WINDER,NO_LIMIT);
+ return ERROR;
+ }
keepfeedertension = feedertension;
ProcessParametersKeep.feedertension = 0.0;
ThreadJoggingFunc(20);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
index 0da78dc9c..06dac8fdc 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
@@ -213,21 +213,26 @@ uint32_t InitSequenceMidTankCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag
Disable_MidTank_Pressure_Reading(portId);
Valve_Set(IDS_Id_to_AirValve[portId], Atm_MidTank_OFF ); //Atm_MidTank_OFF/ON
//Control3WayValvesWithCallback ((Valves_t)portId, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
-
}
else if (MidTankOperationCounter >= MidTankReadPressure)
{
//read pressure for midtank (MidTankOperationCounter-MidTankCloseAir)
portId = MidTankOperationCounter%MAX_SYSTEM_DISPENSERS;
- Read_MidTank_Pressure_Sensor(portId);
+ if((IfIndex==0)||(Get_MidTank_Pressure_Sensor(portId)<0.5))
+ {
+ Read_MidTank_Pressure_Sensor(portId);
+ }
}
else if (MidTankOperationCounter >= MidTankOpenAir)
{
//open air valve for midtank (MidTankOperationCounter-MidTankOpenAir)
portId = (MidTankOperationCounter - MidTankOpenAir) ; //0-7
- Enable_MidTank_Pressure_Reading(portId);
- Valve_Set(IDS_Id_to_AirValve[portId], Atm_MidTank_ON ); //Atm_MidTank_OFF/ON
- Control3WayValvesWithCallback ((Valves_t)portId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+ if((IfIndex==0)||(Get_MidTank_Pressure_Sensor(portId)<0.5))
+ {
+ Enable_MidTank_Pressure_Reading(portId);
+ Valve_Set(IDS_Id_to_AirValve[portId], Atm_MidTank_ON ); //Atm_MidTank_OFF/ON
+ Control3WayValvesWithCallback ((Valves_t)portId, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+ }
}
MidTankOperationCounter++;
return OK;
@@ -544,6 +549,8 @@ uint32_t InitSequenceWaitForCoolerCallBackFunction(uint32_t IfIndex, uint32_t Bu
}
else
Report("InitSequenceWaitForCoolerCallBackFunction called too late",__FILE__,__LINE__,(int)InitStages,RpWarning,(int)MachineStateDetail,0);
+ MidTankControlId = AddControlCallback("Init Midtank", InitSequenceMidTankCallBackFunction, 300/*eHundredMillisecond*/, TemplateDataReadCBFunction,1,0, 0 );
+
return OK;
}
uint32_t InitSequenceWaitForCooler(void)
diff --git a/Software/Visual_Studio/Advanced Installer Projects/FSE Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/FSE Installer.aip
index ccac49ada..385fa996c 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/FSE Installer.aip
+++ b/Software/Visual_Studio/Advanced Installer Projects/FSE Installer.aip
@@ -29,10 +29,10 @@
<ROW Property="ExtractFilesFirst" Value="1"/>
<ROW Property="LogoIcon" Value="externalui.ico" MultiBuildValue="DefaultBuild:machine_full_0UZ_icon.ico_1" Type="1" MsiKey="LogoIcon"/>
<ROW Property="Manufacturer" Value="Twine Solutions LTD"/>
- <ROW Property="ProductCode" Value="1033:{0DFFFC98-851D-497C-88CE-43D0B7486DED} " Type="16"/>
+ <ROW Property="ProductCode" Value="1033:{7C07FDC1-DDB0-4663-AE1D-778B15B4388A} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="Tango FSE"/>
- <ROW Property="ProductVersion" Value="1.1.3.0" Type="32"/>
+ <ROW Property="ProductVersion" Value="1.2.0.0" Type="32"/>
<ROW Property="RUNAPPLICATION" Value="1" Type="4"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{0E13CB0D-89F7-465E-9F56-F1CBD6773E6E}"/>
@@ -796,7 +796,7 @@
<ROW Action="AI_DetectSoftware" Sequence="101"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
- <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\FSE\Release" PackageFileName="Tango FSE v1.1.3" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Tango FSE v1.1.3"/>
+ <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\FSE\Release" PackageFileName="Tango FSE v1.2.0" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="Tango FSE v1.2.0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
diff --git a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
index 6376e0506..af86c887d 100644
--- a/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
+++ b/Software/Visual_Studio/Advanced Installer Projects/PPC Installer.aip
@@ -18,10 +18,10 @@
<ROW Property="ARPNOREPAIR" Value="1" MultiBuildValue="DefaultBuild:1"/>
<ROW Property="ARPSYSTEMCOMPONENT" Value="1"/>
<ROW Property="Manufacturer" Value="Twine"/>
- <ROW Property="ProductCode" Value="1033:{241907BC-A335-4E23-9409-DE9767A7E53D} " Type="16"/>
+ <ROW Property="ProductCode" Value="1033:{A8140290-8F91-4BB4-8549-81C3D5A96571} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="Tango"/>
- <ROW Property="ProductVersion" Value="1.3.0.0" Type="32"/>
+ <ROW Property="ProductVersion" Value="1.3.2.0" Type="32"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{F8EAB8B4-FD57-45B7-8307-D52DF760273D}"/>
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
@@ -215,10 +215,10 @@
<ROW Component="mscoree.dll" ComponentId="{85F439D0-8FD0-4B99-888D-336C7A125E3D}" Directory_="APPDIR" Attributes="0" KeyPath="mscoree.dll"/>
<ROW Component="msvcp140d.dll" ComponentId="{69E32675-9ACF-4C23-A495-300B78913B66}" Directory_="APPDIR" Attributes="0" KeyPath="msvcp140d.dll"/>
<ROW Component="protobufnet.dll" ComponentId="{163F1E17-6462-4ABE-BC86-E055F7690139}" Directory_="APPDIR" Attributes="0" KeyPath="protobufnet.dll"/>
- <ROW Component="turbojpeg.dll" ComponentId="{4137FD49-DC66-4BBC-8E9E-BDF82C6FFDEF}" Directory_="win7x64_Dir" Attributes="256" KeyPath="turbojpeg.dll"/>
- <ROW Component="turbojpeg.dll.meta" ComponentId="{3F487A06-121A-49DE-94AA-FCD4509F7796}" Directory_="win7x64_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta" Type="0"/>
- <ROW Component="turbojpeg.dll.meta_1" ComponentId="{B938CD1E-E760-492F-8295-A4B6003353F7}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta_1" Type="0"/>
- <ROW Component="turbojpeg.dll_1" ComponentId="{C2922686-AC79-4E43-B742-A4762AEDE890}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll_1"/>
+ <ROW Component="turbojpeg.dll" ComponentId="{7F419D89-7CCC-4CB0-9971-D77E9D2B99AE}" Directory_="win7x64_Dir" Attributes="256" KeyPath="turbojpeg.dll"/>
+ <ROW Component="turbojpeg.dll.meta" ComponentId="{A801D258-4A13-469F-97BD-84A2503B4972}" Directory_="win7x64_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta" Type="0"/>
+ <ROW Component="turbojpeg.dll.meta_1" ComponentId="{EB7D18E6-EE5A-40B9-AECD-E35C376069C8}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll.meta_1" Type="0"/>
+ <ROW Component="turbojpeg.dll_1" ComponentId="{2F7F43EA-B85C-499E-B4FC-408EB541B2CF}" Directory_="win7x86_Dir" Attributes="0" KeyPath="turbojpeg.dll_1"/>
<ROW Component="ucrtbased.dll" ComponentId="{B8D025EA-CD16-4EE7-A3E7-713E2BE82BF3}" Directory_="APPDIR" Attributes="0" KeyPath="ucrtbased.dll"/>
<ROW Component="vcruntime140.dll" ComponentId="{144594CC-D19B-45E4-A420-7A1BBB122EE3}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140.dll"/>
<ROW Component="vcruntime140d.dll" ComponentId="{7653420C-C6C3-4F31-97E8-D6DE417D3DF2}" Directory_="APPDIR" Attributes="0" KeyPath="vcruntime140d.dll"/>
@@ -505,7 +505,7 @@
<ROW Action="AI_DetectSoftware" Sequence="101"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
- <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.3.0" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.3.0"/>
+ <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="..\Build\Installers\PPC" PackageFileName="PPC Installer_v1.3.2" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install" ExtUI="true" UseLargeSchema="true" ExeName="PPC Installer_v1.3.2"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
<ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Diagnostics/diagnostics.tdp b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Diagnostics/diagnostics.tdp
index ebd93e9dc..6d78e2365 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Diagnostics/diagnostics.tdp
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Diagnostics/diagnostics.tdp
@@ -439,7 +439,7 @@
"Height": 100.0,
"DisplayComponentName": true,
"ComponentNameAlignment": "Bottom",
- "CustomComponentName": "Machine Temp."
+ "CustomComponentName": "Machine Temperature"
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics",
@@ -459,11 +459,11 @@
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics",
- "Heater": "HeaterZone6",
+ "Heater": "HeaterZone1",
"SetPoint": 135.0,
"EnableComponentSelection": false,
"ID": "4cc384a5-58b8-40b8-bd7c-da77fff2ab4a",
- "Column": 14,
+ "Column": 18,
"Row": 15,
"ColumnSpan": 2,
"RowSpan": 6,
@@ -475,7 +475,7 @@
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics",
- "Heater": "HeaterZone5",
+ "Heater": "HeaterZone2",
"SetPoint": 135.0,
"EnableComponentSelection": false,
"ID": "2c2d9abf-06fb-4b05-ab24-bad87fdd1dc1",
@@ -491,11 +491,11 @@
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics",
- "Heater": "HeaterZone4",
+ "Heater": "HeaterZone3",
"SetPoint": 120.0,
"EnableComponentSelection": false,
"ID": "d2c56d11-4048-428d-9639-a7861b7610dc",
- "Column": 18,
+ "Column": 14,
"Row": 15,
"ColumnSpan": 2,
"RowSpan": 6,
@@ -522,24 +522,8 @@
"CustomComponentName": null
},
{
- "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics",
- "Blower": "HeadBlower2",
- "SetPoint": 0.0,
- "EnableComponentSelection": false,
- "ID": "be0a08fe-87ee-4751-b8c0-434495a7faf0",
- "Column": 14,
- "Row": 9,
- "ColumnSpan": 3,
- "RowSpan": 4,
- "Width": 100.0,
- "Height": 100.0,
- "DisplayComponentName": true,
- "ComponentNameAlignment": "Bottom",
- "CustomComponentName": null
- },
- {
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Text.TextWidget, Tango.FSE.Diagnostics",
- "Text": "arc blowers air flow",
+ "Text": "arc blowers",
"Color": "#FFD3D3D3",
"Settings": {},
"ID": "6fbf6983-92e6-4d6a-8696-aff46e5b0fc0",
@@ -554,22 +538,6 @@
"CustomComponentName": null
},
{
- "$type": "Tango.FSE.Diagnostics.Project.Widgets.Blower.BlowerWidget, Tango.FSE.Diagnostics",
- "Blower": "HeadBlower1",
- "SetPoint": 0.0,
- "EnableComponentSelection": false,
- "ID": "85ee4ecf-ddb1-47f4-8065-a8d85f258ed0",
- "Column": 17,
- "Row": 9,
- "ColumnSpan": 3,
- "RowSpan": 4,
- "Width": 100.0,
- "Height": 100.0,
- "DisplayComponentName": true,
- "ComponentNameAlignment": "Bottom",
- "CustomComponentName": null
- },
- {
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics",
"Monitor": "HeadBlowerVoltage2",
"EnableComponentSelection": false,
@@ -578,10 +546,10 @@
"Color": "#FFDCDCDC"
},
"ID": "4feb8076-1c1f-4c4c-9dc6-b79f41abcdeb",
- "Column": 14,
- "Row": 5,
- "ColumnSpan": 3,
- "RowSpan": 4,
+ "Column": 15,
+ "Row": 10,
+ "ColumnSpan": 2,
+ "RowSpan": 3,
"Width": 100.0,
"Height": 100.0,
"DisplayComponentName": true,
@@ -590,17 +558,17 @@
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics",
- "Monitor": "HeadCoverHeater2Temperature",
+ "Monitor": "HeadBlower1AirFlow",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
+ "DecimalPlaces": 2,
"Color": "#FFDCDCDC"
},
"ID": "e7db35e7-c03c-4eb8-8460-6372245dc262",
- "Column": 14,
- "Row": 1,
- "ColumnSpan": 3,
- "RowSpan": 4,
+ "Column": 17,
+ "Row": 7,
+ "ColumnSpan": 2,
+ "RowSpan": 3,
"Width": 100.0,
"Height": 100.0,
"DisplayComponentName": true,
@@ -617,9 +585,9 @@
},
"ID": "59df100b-f1d9-4d93-8360-519f158d06c9",
"Column": 17,
- "Row": 5,
- "ColumnSpan": 3,
- "RowSpan": 4,
+ "Row": 10,
+ "ColumnSpan": 2,
+ "RowSpan": 3,
"Width": 100.0,
"Height": 100.0,
"DisplayComponentName": true,
@@ -628,21 +596,72 @@
},
{
"$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics",
- "Monitor": "HeadCoverHeater1Temperature",
+ "Monitor": "HeadBlower2AirFlow",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
+ "DecimalPlaces": 2,
"Color": "#FFDCDCDC"
},
"ID": "58b0985d-e281-4bd1-a6df-4912386b3eb0",
- "Column": 17,
- "Row": 1,
+ "Column": 15,
+ "Row": 7,
+ "ColumnSpan": 2,
+ "RowSpan": 3,
+ "Width": 100.0,
+ "Height": 100.0,
+ "DisplayComponentName": true,
+ "ComponentNameAlignment": "Bottom",
+ "CustomComponentName": null
+ },
+ {
+ "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics",
+ "Monitor": "GasSensor",
+ "EnableComponentSelection": true,
+ "Settings": {
+ "DecimalPlaces": 2,
+ "Color": "#FFDCDCDC"
+ },
+ "ID": "c78af51d-97c5-4c4c-873f-f67f52f1ecec",
+ "Column": 9,
+ "Row": 5,
"ColumnSpan": 3,
"RowSpan": 4,
"Width": 100.0,
"Height": 100.0,
"DisplayComponentName": true,
"ComponentNameAlignment": "Bottom",
+ "CustomComponentName": "Machine Temperature"
+ },
+ {
+ "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics",
+ "Heater": "HeadCoverHeater2",
+ "SetPoint": 120.0,
+ "EnableComponentSelection": false,
+ "ID": "52be1c95-9510-4162-a6d8-b77461032218",
+ "Column": 15,
+ "Row": 1,
+ "ColumnSpan": 2,
+ "RowSpan": 6,
+ "Width": 100.0,
+ "Height": 100.0,
+ "DisplayComponentName": true,
+ "ComponentNameAlignment": "Bottom",
+ "CustomComponentName": null
+ },
+ {
+ "$type": "Tango.FSE.Diagnostics.Project.Widgets.Heater.HeaterWidget, Tango.FSE.Diagnostics",
+ "Heater": "HeadCoverHeater1",
+ "SetPoint": 120.0,
+ "EnableComponentSelection": false,
+ "ID": "92dba367-e636-4ba2-b3af-3d7fd1fa330d",
+ "Column": 17,
+ "Row": 1,
+ "ColumnSpan": 2,
+ "RowSpan": 6,
+ "Width": 100.0,
+ "Height": 100.0,
+ "DisplayComponentName": true,
+ "ComponentNameAlignment": "Bottom",
"CustomComponentName": null
}
]
@@ -804,7 +823,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FFDEDAC4"
},
"ID": "99496cd2-adb1-4fe9-8944-6f1785530095",
"Column": 0,
@@ -861,7 +880,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FF8BEC83"
},
"ID": "a0ebd9d7-b01c-4ca3-b62e-824b02a66c3c",
"Column": 3,
@@ -918,7 +937,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FF404040"
},
"ID": "52260052-843a-4fc1-88ec-64ef9dd13657",
"Column": 6,
@@ -975,7 +994,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FFE9E9E9"
},
"ID": "dd286e34-4441-4814-8aec-ffff471e1be8",
"Column": 9,
@@ -1032,7 +1051,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FFE8FF0C"
},
"ID": "b8c9e3f6-5f4d-44cd-8b6e-c7d16489e573",
"Column": 12,
@@ -1089,7 +1108,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FFED008C"
},
"ID": "82c2ee42-9b28-44ec-9ec2-ca69d9319ecc",
"Column": 15,
@@ -1146,7 +1165,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FF1662EB"
},
"ID": "99901934-8bad-4e99-b35f-591be4d32d49",
"Column": 18,
@@ -1203,7 +1222,7 @@
"EnableComponentSelection": false,
"Settings": {
"DecimalPlaces": 2,
- "Color": "#FFDCDCDC"
+ "Color": "#FF000000"
},
"ID": "65b945dd-30bb-4f59-a336-d36d22aac6bc",
"Column": 21,
@@ -1377,7 +1396,7 @@
]
},
{
- "Name": "Waste",
+ "Name": "Flows",
"Columns": [
{
"Width": "*"
@@ -1532,8 +1551,8 @@
"Monitor": "MidTank1Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FF000000"
},
"ID": "50542753-1128-4c4a-b13f-397be9377fdd",
"Column": 21,
@@ -1551,8 +1570,8 @@
"Monitor": "MidTank2Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FF1662EB"
},
"ID": "07904972-8ffe-4a4a-b372-c91e87d72371",
"Column": 18,
@@ -1570,8 +1589,8 @@
"Monitor": "MidTank3Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FFED008C"
},
"ID": "b1da7145-a8dd-4c26-9585-7d481850a91b",
"Column": 15,
@@ -1589,8 +1608,8 @@
"Monitor": "MidTank4Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FFE8FF0C"
},
"ID": "168a83a0-a99b-4c66-ba4a-9ab1a49703bd",
"Column": 12,
@@ -1608,8 +1627,8 @@
"Monitor": "MidTank5Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FFE9E9E9"
},
"ID": "80a362cf-52e8-4e1c-b032-bbd5162bf843",
"Column": 9,
@@ -1627,8 +1646,8 @@
"Monitor": "MidTank6Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FF404040"
},
"ID": "f00c9ac5-0f3e-4a93-aca0-0e792dd1d551",
"Column": 6,
@@ -1646,8 +1665,8 @@
"Monitor": "MidTank7Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FF8BEC83"
},
"ID": "63b22b2c-11ce-4f29-90f9-7c24bbfdd305",
"Column": 3,
@@ -1665,8 +1684,8 @@
"Monitor": "MidTank8Level",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
- "Color": "#FFDCDCDC"
+ "DecimalPlaces": 2,
+ "Color": "#FFDEDAC4"
},
"ID": "cfcdf30f-29c9-4ad4-8eb8-5af1c6853501",
"Column": 0,
@@ -1703,7 +1722,7 @@
"Monitor": "HeadAirFlow",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
+ "DecimalPlaces": 2,
"Color": "#FFDCDCDC"
},
"ID": "ba94949e-6371-4041-906f-ccbcc1953254",
@@ -1722,7 +1741,7 @@
"Monitor": "DryerAirFlow",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
+ "DecimalPlaces": 2,
"Color": "#FFDCDCDC"
},
"ID": "0763fb88-e1c1-40db-b883-04d25ce52a78",
@@ -1818,7 +1837,7 @@
"Monitor": "WasteLevel",
"EnableComponentSelection": false,
"Settings": {
- "DecimalPlaces": 0,
+ "DecimalPlaces": 2,
"Color": "#FFDCDCDC"
},
"ID": "d3844b51-1842-4f96-a3f9-204fa3257391",
@@ -2071,6 +2090,25 @@
"DisplayComponentName": true,
"ComponentNameAlignment": "Bottom",
"CustomComponentName": "Air Valve 1"
+ },
+ {
+ "$type": "Tango.FSE.Diagnostics.Project.Widgets.Monitor.MonitorWidget, Tango.FSE.Diagnostics",
+ "Monitor": "TotalWHSFlow",
+ "EnableComponentSelection": false,
+ "Settings": {
+ "DecimalPlaces": 2,
+ "Color": "#FFDCDCDC"
+ },
+ "ID": "f97c0e77-2d90-4ce6-8df3-b1e7a1feb10b",
+ "Column": 6,
+ "Row": 12,
+ "ColumnSpan": 2,
+ "RowSpan": 4,
+ "Width": 100.0,
+ "Height": 100.0,
+ "DisplayComponentName": true,
+ "ComponentNameAlignment": "Bottom",
+ "CustomComponentName": null
}
]
},
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Help/proc-doc.chm b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Help/proc-doc.chm
index e49620e6e..18a3d889c 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Help/proc-doc.chm
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Procedures.Documentation/Help/proc-doc.chm
Binary files differ
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeGeneratedViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeGeneratedViewVM.cs
index b90d73cc4..53a62404d 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeGeneratedViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeGeneratedViewVM.cs
@@ -7,6 +7,7 @@ using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.Core.IO;
+using Tango.FSE.BL;
using Tango.FSE.Common;
using Tango.FSE.Common.Navigation;
using Tango.FSE.Common.RemoteUpgrade;
@@ -187,6 +188,10 @@ namespace Tango.FSE.Upgrade.ViewModels
{
//Aborted...
}
+ catch (AuthorizationException ex)
+ {
+ await NotificationProvider.ShowError(ex.Message);
+ }
catch (Exception ex)
{
LogManager.Log(ex, "Error occurred while executing remote application upgrade.");
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeViewVM.cs
index bd901c239..fbcd87d5e 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/ApplicationUpgradeViewVM.cs
@@ -6,6 +6,7 @@ using System.Threading;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.Core.Commands;
+using Tango.FSE.BL;
using Tango.FSE.Common;
using Tango.FSE.Common.Navigation;
using Tango.FSE.Common.RemoteUpgrade;
@@ -92,6 +93,10 @@ namespace Tango.FSE.Upgrade.ViewModels
{
//Aborted...
}
+ catch (AuthorizationException ex)
+ {
+ await NotificationProvider.ShowError(ex.Message);
+ }
catch (Exception ex)
{
LogManager.Log(ex, "Error generating remote upgrade package.");
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeGeneratedViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeGeneratedViewVM.cs
index ce01b5804..2bfc9e2f2 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeGeneratedViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeGeneratedViewVM.cs
@@ -7,6 +7,7 @@ using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.BL.Enumerations;
using Tango.Core.Commands;
+using Tango.FSE.BL;
using Tango.FSE.Common;
using Tango.FSE.Common.FileAssociation;
using Tango.FSE.Common.Navigation;
@@ -167,6 +168,10 @@ namespace Tango.FSE.Upgrade.ViewModels
{
//Aborted...
}
+ catch (AuthorizationException ex)
+ {
+ await NotificationProvider.ShowError(ex.Message);
+ }
catch (Exception ex)
{
LogManager.Log(ex, "Error occurred while executing remote firmware upgrade.");
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeViewVM.cs
index ed434d92f..23962cd56 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Upgrade/ViewModels/FirmwareUpgradeViewVM.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.Core.Commands;
+using Tango.FSE.BL;
using Tango.FSE.Common;
using Tango.FSE.Common.RemoteUpgrade;
@@ -144,6 +145,10 @@ namespace Tango.FSE.Upgrade.ViewModels
{
//Aborted...
}
+ catch (AuthorizationException ex)
+ {
+ await NotificationProvider.ShowError(ex.Message);
+ }
catch (Exception ex)
{
LogManager.Log(ex, "Error generating remote firmware upgrade package.");
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/Properties/AssemblyInfo.cs
index 639f3dbfb..cd86ddeb8 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/Properties/AssemblyInfo.cs
@@ -8,4 +8,4 @@ using System.Windows;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Tango FSE")]
-[assembly: AssemblyVersion("1.1.3.0")]
+[assembly: AssemblyVersion("1.2.0.0")]
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteUpgrade/DefaultRemoteUpgradeManager.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteUpgrade/DefaultRemoteUpgradeManager.cs
index af732ddcb..fb2faf9a6 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteUpgrade/DefaultRemoteUpgradeManager.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/RemoteUpgrade/DefaultRemoteUpgradeManager.cs
@@ -150,8 +150,11 @@ namespace Tango.FSE.UI.RemoteUpgrade
LogManager.Log(ex, "Could not connect using SQLEXPRESS. Trying local DB...");
CmdCommand command = new CmdCommand("sqllocaldb", "start \"MSSQLLocalDB\"");
+ command.Timeout = TimeSpan.FromSeconds(30);
var result = command.Run().Result;
+ LogManager.Log("local DB started. Retrieving instance information...");
+
command = new CmdCommand("sqllocaldb", "info \"MSSQLLocalDB\"");
result = command.Run().Result;
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
index 6f7717a90..777b1f24d 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
@@ -519,7 +519,7 @@ namespace Tango.PPC.Jobs.ViewModels
ValidateBrushStops();
- CoerceBrushStopsColorSpaceChange();
+ RegisterJobBrushStopsColorSpaceChange();
DyeCommand.RaiseCanExecuteChanged();
StartSampleDyeCommand.RaiseCanExecuteChanged();
@@ -657,8 +657,15 @@ namespace Tango.PPC.Jobs.ViewModels
/// </summary>
private bool CanStartJob()
{
- return
- Job != null && Job.Validate(_db) && !Job.Segments.SelectMany(x => x.BrushStops).Where(x => !x.IsTransparent && !x.IsWhite).ToList().Exists(x => x.IsOutOfGamut || x.IsLiquidVolumesOutOfRange);
+ try
+ {
+ return Job != null && Job.Validate(_db) && !Job.Segments.SelectMany(x => x.BrushStops).Where(x => !x.IsTransparent && !x.IsWhite).ToList().Exists(x => x.IsOutOfGamut || (x.BrushColorSpace == BL.Enumerations.ColorSpaces.Volume && x.IsLiquidVolumesOutOfRange));
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex);
+ return false;
+ }
}
#endregion
@@ -702,7 +709,7 @@ namespace Tango.PPC.Jobs.ViewModels
LogManager.Log("Adding new solid segment...");
var s = Job.AddSolidSegment(Settings.DefaultSegmentLength > 0 ? Settings.DefaultSegmentLength : 10);
SetSegmentLiquidVolumes(s);
- CoerceBrushStopsColorSpaceChange();
+ RegisterJobBrushStopsColorSpaceChange();
return s;
}
catch (Exception ex)
@@ -723,7 +730,7 @@ namespace Tango.PPC.Jobs.ViewModels
LogManager.Log("Adding new gradient segment...");
var s = Job.AddGradientSegment(Settings.DefaultSegmentLength > 0 ? Settings.DefaultSegmentLength : 10);
SetSegmentLiquidVolumes(s);
- CoerceBrushStopsColorSpaceChange();
+ RegisterJobBrushStopsColorSpaceChange();
return s;
}
catch (Exception ex)
@@ -771,6 +778,7 @@ namespace Tango.PPC.Jobs.ViewModels
segment.BrushStops.ToList().ForEach(x =>
{
+ x.ColorSpaceChanged -= Stop_ColorSpaceChanged;
_db.BrushStops.Remove(x);
});
_db.Segments.Remove(segment);
@@ -826,7 +834,7 @@ namespace Tango.PPC.Jobs.ViewModels
#region Brush Stops Management
- private void CoerceBrushStopsColorSpaceChange()
+ private void RegisterJobBrushStopsColorSpaceChange()
{
if (Job != null)
{
@@ -842,6 +850,8 @@ namespace Tango.PPC.Jobs.ViewModels
{
BrushStop stop = sender as BrushStop;
stop.Segment.BrushStops.Where(x => x != stop).ToList().ForEach(x => x.ColorSpace = stop.ColorSpace);
+
+ DyeCommand.RaiseCanExecuteChanged();
}
/// <summary>
@@ -853,7 +863,7 @@ namespace Tango.PPC.Jobs.ViewModels
LogManager.Log($"Adding new brush stop to segment {segment.SegmentIndex}.");
segment.AddBrushStop();
SetSegmentLiquidVolumes(segment);
- CoerceBrushStopsColorSpaceChange();
+ RegisterJobBrushStopsColorSpaceChange();
}
/// <summary>
@@ -866,6 +876,7 @@ namespace Tango.PPC.Jobs.ViewModels
{
LogManager.Log($"removing brush stop {brushStop.StopIndex} from segment {brushStop.Segment.SegmentIndex}.");
var segment = brushStop.Segment;
+ brushStop.ColorSpaceChanged -= Stop_ColorSpaceChanged;
_db.BrushStops.Remove(brushStop);
ArrangeBrushStopsIndices(segment);
}
@@ -956,10 +967,7 @@ namespace Tango.PPC.Jobs.ViewModels
}
else if (brushStop.BrushColorSpace == BL.Enumerations.ColorSpaces.Volume)
{
- if (vm.SelectedSuggestion != suggestions.GetCenterSuggestion())
- {
- vm.SelectedSuggestion.ApplyOnBrushStop(brushStop);
- }
+ vm.SelectedSuggestion.ApplyOnBrushStop(brushStop);
}
brushStop.Corrected = true;
@@ -1323,7 +1331,7 @@ namespace Tango.PPC.Jobs.ViewModels
if (Job != null && Job.Rml.Cct != null && IsVisible)
{
- var brushStops = Job.Segments.SelectMany(x => x.BrushStops).Where(x => (x.BrushColorSpace == BL.Enumerations.ColorSpaces.LAB || x.BrushColorSpace == BL.Enumerations.ColorSpaces.RGB) && !x.Corrected && !x.OutOfGamutChecked).ToList();
+ var brushStops = Job.Segments.SelectMany(x => x.BrushStops).Where(x => x.ColorSpace != null).Where(x => (x.BrushColorSpace == BL.Enumerations.ColorSpaces.LAB || x.BrushColorSpace == BL.Enumerations.ColorSpaces.RGB) && !x.Corrected && !x.OutOfGamutChecked).ToList();
foreach (var stop in brushStops)
{
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
index f4bbf6da3..523934985 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs
@@ -227,6 +227,13 @@ namespace Tango.PPC.MachineSettings.ViewModels
set { _lubricationLevels = value; RaisePropertyChangedAuto(); }
}
+ private RmlLubricationLevelSettings _selectedLubricationLevel;
+ public RmlLubricationLevelSettings SelectedLubricationLevel
+ {
+ get { return _selectedLubricationLevel; }
+ set { _selectedLubricationLevel = value; RaisePropertyChangedAuto(); }
+ }
+
#endregion
#region Commands
@@ -445,6 +452,15 @@ namespace Tango.PPC.MachineSettings.ViewModels
}
LubricationLevels = levels;
+
+ if (SelectedLubricationLevel != null)
+ {
+ SelectedLubricationLevel = LubricationLevels.FirstOrDefault(x => x.RmlGuid == SelectedLubricationLevel.RmlGuid);
+ }
+ else
+ {
+ SelectedLubricationLevel = LubricationLevels.FirstOrDefault();
+ }
}
catch (Exception ex)
{
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
index d105278e6..e69c57753 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
@@ -176,7 +176,7 @@
<StackPanel Margin="20 0 20 40">
<StackPanel Margin="0 40 0 0">
<TextBlock FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">Thread Type</TextBlock>
- <touch:TouchComboBox x:Name="lubricationCombo" Margin="0 5 0 0" ItemsSource="{Binding LubricationLevels}" DisplayMemberPath="Name"></touch:TouchComboBox>
+ <touch:TouchComboBox x:Name="lubricationCombo" Margin="0 5 0 0" ItemsSource="{Binding LubricationLevels}" SelectedItem="{Binding SelectedLubricationLevel}" DisplayMemberPath="Name"></touch:TouchComboBox>
</StackPanel>
<StackPanel Margin="0 20 0 0">
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
index c115f4f5b..57c3c9f34 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
@@ -115,7 +115,7 @@ namespace Tango.PPC.Common.MachineUpdate
_settings = SettingsManager.Default.GetOrCreate<PPCSettings>();
- _checkForUpdateTimer = new System.Timers.Timer(_settings.AutoUpdateCheckInterval.TotalMilliseconds);
+ _checkForUpdateTimer = new System.Timers.Timer(TimeSpan.FromSeconds(30).TotalMilliseconds);
_checkForUpdateTimer.Elapsed += _checkForUpdateTimer_Elapsed;
_checkForUpdateTimer.Stop();
@@ -1710,6 +1710,8 @@ namespace Tango.PPC.Common.MachineUpdate
private async void _checkForUpdateTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
+ _checkForUpdateTimer.Interval = _settings.AutoUpdateCheckInterval.TotalMilliseconds;
+
if (EnableAutoCheckForUpdates && _settings.AutoCheckForUpdates && !_isUpdating)
{
_checkForUpdateTimer.Stop();
@@ -1723,7 +1725,10 @@ namespace Tango.PPC.Common.MachineUpdate
UpdateAvailable?.Invoke(this, response);
}
}
- catch { }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex);
+ }
_checkForUpdateTimer.Start();
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
index e45065c61..aa1c4dda1 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Dialogs/ThreadLoadingView.xaml
@@ -65,9 +65,11 @@
</UniformGrid>
<DockPanel Margin="0 50 0 0">
<StackPanel DockPanel.Dock="Top">
- <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center">
- <Run>Please select the thread type you are going to load and press</Run>
- <Run FontWeight="SemiBold">continue</Run>
+ <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center" LineHeight="22">
+ <Run>Please follow the guide bellow for loading the thread</Run>
+ <LineBreak/>
+ <Run>Select the thread type you are loading and press</Run>
+ <Run FontWeight="Bold">continue</Run>
</TextBlock>
<touch:TouchComboBox Margin="0 40 0 0" Width="500" ItemsSource="{Binding Rmls}" SelectedItem="{Binding SelectedRml}" DisplayMemberPath="Name" Title="Select thread type"></touch:TouchComboBox>
</StackPanel>
@@ -77,7 +79,7 @@
<touch:TouchGifAnimation Margin="50" Source="/Images/thread_loading.gif" VerticalAlignment="Center" Stretch="Uniform" EnableAnimation="{Binding IsVisible}" />
</Grid>
- <Grid>
+ <Grid Visibility="{Binding IsArcHead,Converter={StaticResource BooleanToVisibilityConverter}}">
<commonControls:ImageGalleryControl Duration="00:00:03">
<Image Stretch="Uniform" Source="/Images/ThreadLoading/NewThread/ReadyForLoading/arc/1.jpg"></Image>
<Image Stretch="Uniform" Source="/Images/ThreadLoading/NewThread/ReadyForLoading/arc/2.jpg"></Image>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
index cec5fec28..50c394a17 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs
@@ -8,4 +8,4 @@ using System.Windows;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Tango PPC Application")]
-[assembly: AssemblyVersion("1.3.0.0")]
+[assembly: AssemblyVersion("1.3.2.0")]
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
index efc5f8179..d72e75011 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
@@ -16,7 +16,7 @@
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
- <!--<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />-->
+ <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
diff --git a/Software/Visual_Studio/Tango.BL/Entities/Segment.cs b/Software/Visual_Studio/Tango.BL/Entities/Segment.cs
index bcdfcccc4..b8e2105b0 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/Segment.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/Segment.cs
@@ -276,13 +276,22 @@ namespace Tango.BL.Entities
{
BrushStop stop = new BrushStop();
- if (Job.ColorSpace != null)
+ var lastStop = BrushStops.OrderBy(x => x.StopIndex).LastOrDefault();
+
+ if (lastStop != null && lastStop.ColorSpace != null)
{
- stop.ColorSpace = Job.ColorSpace;
+ stop.ColorSpace = lastStop.ColorSpace;
}
- else
+ else if (Job != null)
{
- stop.ColorSpaceGuid = Job.ColorSpaceGuid;
+ if (Job.ColorSpace != null)
+ {
+ stop.ColorSpace = Job.ColorSpace;
+ }
+ else
+ {
+ stop.ColorSpaceGuid = Job.ColorSpaceGuid;
+ }
}
if (BrushStops.Count > 0)
diff --git a/Software/Visual_Studio/Tango.SharedUI/Controls/SearchComboBox.cs b/Software/Visual_Studio/Tango.SharedUI/Controls/SearchComboBox.cs
index 1f2856a32..011087d54 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Controls/SearchComboBox.cs
+++ b/Software/Visual_Studio/Tango.SharedUI/Controls/SearchComboBox.cs
@@ -227,29 +227,29 @@ namespace Tango.SharedUI.Controls
if (e.Delta > 0)
{
_listBox.RaiseEvent(
- new KeyEventArgs(
- System.Windows.Input.Keyboard.PrimaryDevice,
- PresentationSource.FromVisual(_listBox), 0, Key.Down)
- { RoutedEvent = System.Windows.Input.Keyboard.KeyDownEvent });
+ new KeyEventArgs(
+ System.Windows.Input.Keyboard.PrimaryDevice,
+ PresentationSource.FromVisual(_listBox), 0, Key.Up)
+ { RoutedEvent = System.Windows.Input.Keyboard.KeyDownEvent });
_listBox.RaiseEvent(
new KeyEventArgs(
System.Windows.Input.Keyboard.PrimaryDevice,
- PresentationSource.FromVisual(_listBox), 0, Key.Down)
+ PresentationSource.FromVisual(_listBox), 0, Key.Up)
{ RoutedEvent = System.Windows.Input.Keyboard.KeyUpEvent });
}
else
{
_listBox.RaiseEvent(
- new KeyEventArgs(
- System.Windows.Input.Keyboard.PrimaryDevice,
- PresentationSource.FromVisual(_listBox), 0, Key.Up)
- { RoutedEvent = System.Windows.Input.Keyboard.KeyDownEvent });
+ new KeyEventArgs(
+ System.Windows.Input.Keyboard.PrimaryDevice,
+ PresentationSource.FromVisual(_listBox), 0, Key.Down)
+ { RoutedEvent = System.Windows.Input.Keyboard.KeyDownEvent });
_listBox.RaiseEvent(
new KeyEventArgs(
System.Windows.Input.Keyboard.PrimaryDevice,
- PresentationSource.FromVisual(_listBox), 0, Key.Up)
+ PresentationSource.FromVisual(_listBox), 0, Key.Down)
{ RoutedEvent = System.Windows.Input.Keyboard.KeyUpEvent });
}
//base.OnPreviewMouseWheel(e);
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchNotificationBar.cs b/Software/Visual_Studio/Tango.Touch/Controls/TouchNotificationBar.cs
index 8ed4ead69..1e5a5c8fe 100644
--- a/Software/Visual_Studio/Tango.Touch/Controls/TouchNotificationBar.cs
+++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchNotificationBar.cs
@@ -145,7 +145,7 @@ namespace Tango.Touch.Controls
_items_control = GetTemplateChild("PART_ItemsControl") as ItemsControl;
_notification_counter_grid = GetTemplateChild("PART_NotificationCounterGrid") as Grid;
_scrollViewer = GetTemplateChild("PART_ScrollViewer") as LightTouchScrollViewer;
-
+
_border_drag.RegisterForPreviewMouseOrTouchDown(GridNotificationMouseDown);
_border_drag.RegisterForMouseOrTouchMove(GridNotificationMouseMove);
_border_drag.RegisterForPreviewMouseOrTouchUp(GridNotificationMouseUp);
@@ -169,11 +169,11 @@ namespace Tango.Touch.Controls
{
_grid_mask.Opacity = _border_drag.ActualHeight / ActualHeight;
- if (e.NewSize.Height > CurrentMinHeight && CurrentMinHeight > 0 )
+ if (e.NewSize.Height > CurrentMinHeight && CurrentMinHeight > 0)
{
_notification_counter_grid.Visibility = Visibility.Hidden;
}
- else if(Notifications.Count > 1 && CurrentMinHeight > 0)
+ else if (Notifications.Count > 1 && CurrentMinHeight > 0)
{
_notification_counter_grid.Visibility = Visibility.Visible;
}
@@ -201,10 +201,10 @@ namespace Tango.Touch.Controls
}
}
- private void UpdateMinHeightByDispalyedItem()
+ private async void UpdateMinHeightByDispalyedItem()
{
var last = GetLastNotification();
- if(last != null)
+ if (last != null)
{
last.RegisterForLoadedOrNow((x, y) =>
{
@@ -214,11 +214,16 @@ namespace Tango.Touch.Controls
_grid_container.Height = CurrentMinHeight;
});
}
+ else if (Notifications.Count > 0)
+ {
+ await Task.Delay(500);
+ UpdateMinHeightByDispalyedItem();
+ }
}
- /// <summary>
- /// Callback function on Notifications property
- /// </summary>
- private void OnNotificationsChanged()
+ /// <summary>
+ /// Callback function on Notifications property
+ /// </summary>
+ private void OnNotificationsChanged()
{
if (Notifications is INotifyCollectionChanged)
{
@@ -226,7 +231,7 @@ namespace Tango.Touch.Controls
{
this.BeginInvoke(() =>
{
- if(Notifications.Count > 0)
+ if (Notifications.Count > 0)
{
UpdateMinHeightByDispalyedItem();
}
@@ -239,11 +244,11 @@ namespace Tango.Touch.Controls
_notification_counter_grid.Visibility = Visibility.Hidden;
}
});
- };
-
+ };
+
}
}
-
+
#region Mouse handlers
private void OpenNotifications()
{
@@ -272,7 +277,7 @@ namespace Tango.Touch.Controls
tAni.Duration = TimeSpan.FromSeconds(0.3);
tAni.To = new Thickness(0);
_border_notifications.BeginAnimation(Border.BorderThicknessProperty, tAni);
-
+
IsExpanded = false;
Task.Delay(400).ContinueWith((x) =>