Index: scripts/copy.sh =================================================================== diff -u --- scripts/copy.sh (revision 0) +++ scripts/copy.sh (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -0,0 +1,171 @@ +#!/bin/bash +# +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# \copyright \n +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n +# IN PART OR IN WHOLE, \n +# WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n +# \file copy.sh +# \date 2020/03/12 +# \author Behrouz NematiPour +# \details +# This script copies the required files on the device. +# After it's done ssh into device and run setupDevice.sh on device. +# + +# device default Ip Address and denali application path +if [ "$1" == "" ]; then + IPADDR="192.168.10.135" +else + IPADDR="$1" +fi +SSHUSER=root +HOMEPATH="/home/$SSHUSER/" +FONTPATH="/usr/share/fonts/truetype/" +FONTSPATH="/home/denali/Project/application/resources/fonts/" +DENALIPATH="/home/denali/Project/tmp/build/denali-Qt_5_12_5_iMX8-Release/" +DENALINAME=denali + +function folderExists() { + if [ ! -d "$1" ]; then + echo 1 + return + fi + echo 0 +} + +function fileExists() { + if [ ! -f "$1" ]; then + echo 1 + return + fi + echo 0 +} + +function copyFolderTo() { + echo $1 + scp $1/* $SSHUSER@$IPADDR:$2 + if [ ! $? -eq 0 ];then + echo "copy of file $1 unsuccessful" + return 1 + fi + return 0 +} + +function copyFileTo() { + if [ $(fileExists "$1") -eq 0 ]; then + scp $1 $SSHUSER@$IPADDR:$2 + if [ ! $? -eq 0 ];then + echo "copy of file $1 unsuccessful" + return 1 + fi + else + echo "File $1 doesn't exist" + fi + return 0 +} + +function exitconfirm() { + read -p "Continue? [y,n]" -n 1 -r CONTINUE + if [ "$CONTINUE" != "y" ]; then + echo "" + exit "$1" + else + echo "" + fi +} + +function removeIPFromHost() { + ssh-keygen -f "/home/denali/.ssh/known_hosts" -R "$IPADDR" + sleep 5 +} + +# getting the ip address of the device +function getIpAddress() { + while true; do + read -p "Please enter the device Ip address: " -e -i $IPADDR -r IPADDR + echo "removing device Ip Address from known hosts" + removeIPFromHost + echo "Testing connection on IP $IPADDR" + if [ ! -z $IPADDR ]; then + ping $IPADDR -c1 -W1 + if [ $? -eq 0 ]; then + break + else + echo "Cannot connect to the device." + echo "Either device not connected or the IP address is not correct." + exitconfirm 1 + fi + fi + done + echo "Connection successful on device with IP $IPADDR" + echo "" +} + +# getting the denali application path +function getDenaliPath() { + while true; do + read -p "Please enter the Denali application path: " -e -i $DENALIPATH -r DENALIPATH + echo "Testing Denali application path" + if [ $(fileExists "$DENALIPATH/$DENALINAME") -eq 0 ]; then + break + else + echo "Cannot find Denali application." + echo "Either the path is not correct or the Denali application doesn't exist." + exitconfirm 2 + fi + done + echo "Denali application found successfully in path '$DENALIPATH'" + echo "" +} + +# getting the fonts path +function getFontsPath() { + while true; do + read -p "Please enter the Fonts path: " -e -i $FONTSPATH -r FONTSPATH + echo "Testing Fonts path" + if [ "$(folderExists "$FONTSPATH")" -eq 0 ]; then + if [ "$(ls)" != "" ]; then + break + else + echo "The folder $FONTSPATH is empty" + exitconfirm 3 + fi + else + echo "Cannot find Fonts path." + exitconfirm 4 + fi + done + echo "Fonts found successfully in path '$FONTSPATH'" + echo "" +} + +# SSH Connection +function connect() { + echo "please ssh into device $IPADDR and run ./setup.sh" + read -p "Do you want to ssh into device? [y,n]" -n 1 -r CONFIRM + if [ "$CONFIRM" == "y" ]; then + echo "" + ssh $SSHUSER@$IPADDR + else + echo "" + fi +} + +function main() { + getIpAddress + + copyFileTo "autostart" $HOMEPATH + copyFileTo "run.sh" $HOMEPATH + copyFileTo "setup.sh" $HOMEPATH + + getDenaliPath + copyFileTo $DENALIPATH/$DENALINAME $HOMEPATH + + getFontsPath + copyFolderTo $FONTSPATH $FONTPATH +} + +# running the main function +main +connect Index: scripts/setup.sh =================================================================== diff -u --- scripts/setup.sh (revision 0) +++ scripts/setup.sh (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# \copyright \n +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n +# IN PART OR IN WHOLE, \n +# WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n +# \file setup.sh +# \date 2020/03/12 +# \author Behrouz NematiPour +# \details +# This script setup the device to run the Denali Application. +# +# +echo "setup the time/date controller" +# to use the system time/date and not use the network time protocol +timedatectl set-ntp 0 + +echo "Setup the time/date" +while true; do + read -p "please enter the date (yyyy-MM-dd HH:mm): " -r DATE + date -s "$DATE" + if [ $? -eq 0 ]; then + break + fi +done + +echo "Setup the hardware clock" +hwclock -w + +echo "Disabling Qt demo" +systemctl disable qtlauncher +systemctl disable ebikedata + +echo "Setting denali as default auto start application" +mkdir /etc/init.d/ +mv autostart /etc/init.d/ +update-rc.d autostart defaults + +echo "Syncing file system updates" +sync + +read -p "ready to reboot? [y,n]" -n 1 -r CONFIRM +if [ "$CONFIRM" == "y" ]; then + reboot +fi Fisheye: Tag b166776048ef9001ff2cb4b69df81a5dff40849a refers to a dead (removed) revision in file `scripts/setupSD.sh'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/main.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/main.h (.../main.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/main.h (.../main.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -50,7 +50,7 @@ extern bool gDisableHunhandledReport; //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// -#define PROPERTY(vTYPE , vVARIABLE , vDEFVALUE) \ +#define PROPERTY(vTYPE , vVARIABLE , vDEFVALUE, vALWAYSEMIT ) \ Q_PROPERTY(vTYPE vVARIABLE \ READ vVARIABLE \ WRITE vVARIABLE \ @@ -65,7 +65,9 @@ } \ void vVARIABLE ( const vTYPE & v##vVARIABLE ) { \ static bool init = false; \ - if ( _##vVARIABLE != v##vVARIABLE || ! init ) { \ + if ( vALWAYSEMIT \ + || ! init \ + || _##vVARIABLE != v##vVARIABLE ) { \ init = true; \ _##vVARIABLE = v##vVARIABLE; \ emit vVARIABLE##Changed( _##vVARIABLE ); \ Index: sources/view/valarmstatus.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/valarmstatus.h (.../valarmstatus.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/valarmstatus.h (.../valarmstatus.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,20 +27,20 @@ { Q_OBJECT - PROPERTY( quint32 , alarm_Priority , 0) - PROPERTY( quint32 , alarm_AlarmID , 0) - PROPERTY( quint32 , alarm_EscalateIn , 0) - PROPERTY( quint32 , alarm_MuteTimeout , 0) - PROPERTY( bool , alarm_Flag_systemFault , false) - PROPERTY( bool , alarm_Flag_stop , false) - PROPERTY( bool , alarm_Flag_noClear , false) - PROPERTY( bool , alarm_Flag_noResume , false) - PROPERTY( bool , alarm_Flag_noRinseback , false) - PROPERTY( bool , alarm_Flag_noEndTreatment , false) - PROPERTY( bool , alarm_Flag_noNewTreatment , false) - PROPERTY( bool , alarm_Flag_bypassDialyzer , false) - PROPERTY( bool , alarm_Flag_alarmsToEscalate , false) - PROPERTY( bool , alarm_Flag_alarmsSilenced , false) + PROPERTY( quint32 , alarm_Priority , 0, false) + PROPERTY( quint32 , alarm_AlarmID , 0, false) + PROPERTY( quint32 , alarm_EscalateIn , 0, false) + PROPERTY( quint32 , alarm_MuteTimeout , 0, false) + PROPERTY( bool , alarm_Flag_systemFault , false, false) + PROPERTY( bool , alarm_Flag_stop , false, false) + PROPERTY( bool , alarm_Flag_noClear , false, false) + PROPERTY( bool , alarm_Flag_noResume , false, false) + PROPERTY( bool , alarm_Flag_noRinseback , false, false) + PROPERTY( bool , alarm_Flag_noEndTreatment , false, false) + PROPERTY( bool , alarm_Flag_noNewTreatment , false, false) + PROPERTY( bool , alarm_Flag_bypassDialyzer , false, false) + PROPERTY( bool , alarm_Flag_alarmsToEscalate , false, false) + PROPERTY( bool , alarm_Flag_alarmsSilenced , false, false) VIEW_DEC(VAlarmStatus, AlarmStatusData) Index: sources/view/vpoweroff.h =================================================================== diff -u -r057d3ef4e29c63235040c5cfe8c6421ef7787d6a -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/vpoweroff.h (.../vpoweroff.h) (revision 057d3ef4e29c63235040c5cfe8c6421ef7787d6a) +++ sources/view/vpoweroff.h (.../vpoweroff.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,7 +27,7 @@ { Q_OBJECT - PROPERTY( quint8, poweroff_status, 0) + PROPERTY( quint8, poweroff_status, 0, true) VIEW_DEC(VPowerOff, PowerOffData) Index: sources/view/vtreatmentbloodflow.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/vtreatmentbloodflow.h (.../vtreatmentbloodflow.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/vtreatmentbloodflow.h (.../vtreatmentbloodflow.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,13 +27,13 @@ { Q_OBJECT - PROPERTY( qint32 , bloodFlow_FlowSetPoint , 0) - PROPERTY( float , bloodFlow_MeasuredFlow , 0) - PROPERTY( float , bloodFlow_RotorSpeed , 0) - PROPERTY( float , bloodFlow_MotorSpeed , 0) - PROPERTY( float , bloodFlow_MotorCtlSpeed , 0) - PROPERTY( float , bloodFlow_MotorCtlCurrent, 0) - PROPERTY( float , bloodFlow_PWMDutyCycle , 0) + PROPERTY( qint32 , bloodFlow_FlowSetPoint , 0, false) + PROPERTY( float , bloodFlow_MeasuredFlow , 0, false) + PROPERTY( float , bloodFlow_RotorSpeed , 0, false) + PROPERTY( float , bloodFlow_MotorSpeed , 0, false) + PROPERTY( float , bloodFlow_MotorCtlSpeed , 0, false) + PROPERTY( float , bloodFlow_MotorCtlCurrent, 0, false) + PROPERTY( float , bloodFlow_PWMDutyCycle , 0, false) VIEW_DEC(VTreatmentBloodFlow, BloodFlowData) Index: sources/view/vtreatmentdialysateflow.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/vtreatmentdialysateflow.h (.../vtreatmentdialysateflow.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/vtreatmentdialysateflow.h (.../vtreatmentdialysateflow.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,13 +27,13 @@ { Q_OBJECT - PROPERTY( qint32 , dialysateFlow_FlowSetPoint , 0) - PROPERTY( float , dialysateFlow_MeasuredFlow , 0) - PROPERTY( float , dialysateFlow_RotorSpeed , 0) - PROPERTY( float , dialysateFlow_MotorSpeed , 0) - PROPERTY( float , dialysateFlow_MotorCtlSpeed , 0) - PROPERTY( float , dialysateFlow_MotorCtlCurrent, 0) - PROPERTY( float , dialysateFlow_PWMDutyCycle , 0) + PROPERTY( qint32 , dialysateFlow_FlowSetPoint , 0, false) + PROPERTY( float , dialysateFlow_MeasuredFlow , 0, false) + PROPERTY( float , dialysateFlow_RotorSpeed , 0, false) + PROPERTY( float , dialysateFlow_MotorSpeed , 0, false) + PROPERTY( float , dialysateFlow_MotorCtlSpeed , 0, false) + PROPERTY( float , dialysateFlow_MotorCtlCurrent, 0, false) + PROPERTY( float , dialysateFlow_PWMDutyCycle , 0, false) VIEW_DEC(VTreatmentDialysateFlow, DialysateFlowData) Index: sources/view/vtreatmenttime.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/vtreatmenttime.h (.../vtreatmenttime.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/vtreatmenttime.h (.../vtreatmenttime.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,9 +27,9 @@ { Q_OBJECT - PROPERTY( quint32 , time_Total , 0) - PROPERTY( quint32 , time_Elapsed , 0) - PROPERTY( quint32 , time_Remaining , 0) + PROPERTY( quint32 , time_Total , 0, false) + PROPERTY( quint32 , time_Elapsed , 0, false) + PROPERTY( quint32 , time_Remaining , 0, false) VIEW_DEC(VTreatmentTime, TreatmentTimeData) Index: sources/view/vtreatmentultrafiltration.h =================================================================== diff -u -r595ed1fbe8066960afd4c8fea168208e81b173d9 -rb166776048ef9001ff2cb4b69df81a5dff40849a --- sources/view/vtreatmentultrafiltration.h (.../vtreatmentultrafiltration.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) +++ sources/view/vtreatmentultrafiltration.h (.../vtreatmentultrafiltration.h) (revision b166776048ef9001ff2cb4b69df81a5dff40849a) @@ -27,13 +27,13 @@ { Q_OBJECT - PROPERTY( float, ultrafiltration_RefUFVol , 0) - PROPERTY( float, ultrafiltration_MeasUFVol , 0) - PROPERTY( float, ultrafiltration_RotorSpeed , 0) - PROPERTY( float, ultrafiltration_MotorSpeed , 0) - PROPERTY( float, ultrafiltration_MotorCtlSpeed , 0) - PROPERTY( float, ultrafiltration_MotorCtlCurrent, 0) - PROPERTY( float, ultrafiltration_PWMDtCycle , 0) + PROPERTY( float, ultrafiltration_RefUFVol , 0, false) + PROPERTY( float, ultrafiltration_MeasUFVol , 0, false) + PROPERTY( float, ultrafiltration_RotorSpeed , 0, false) + PROPERTY( float, ultrafiltration_MotorSpeed , 0, false) + PROPERTY( float, ultrafiltration_MotorCtlSpeed , 0, false) + PROPERTY( float, ultrafiltration_MotorCtlCurrent, 0, false) + PROPERTY( float, ultrafiltration_PWMDtCycle , 0, false) VIEW_DEC(VTreatmentUltrafiltration, OutletFlowData)