aboutsummaryrefslogtreecommitdiff
path: root/software/main/HMI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'software/main/HMI.cpp')
-rw-r--r--software/main/HMI.cpp176
1 files changed, 0 insertions, 176 deletions
diff --git a/software/main/HMI.cpp b/software/main/HMI.cpp
deleted file mode 100644
index 8ed8cda..0000000
--- a/software/main/HMI.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * HMI.cpp
- *
- * Created on: 17.08.2021
- * Author: steffen
- */
-#include "HMI.h"
-
-#ifdef ESP32
-HMI::HMI(int fh) {
- _devh = fh;
-}
-#else
-HMI::HMI(const char *dev, const uint16_t baud) {
- struct termios t1, t2;
-
- int bd = B115200;
- if (baud == 57600)
- bd = B57600;
-
- _devh = open(dev, O_RDWR | O_NONBLOCK);
- if (_devh < 0) {
- fprintf(stderr, "Unable to open serial device %s", dev);
- } else {
-
- tcgetattr(_devh, &t1);
- tcgetattr(_devh, &t2);
- cfmakeraw(&t1);
-
- t1.c_cflag = (CLOCAL | CS8 | CREAD);
- cfsetspeed(&t1, bd);
- t1.c_cc[VMIN] = 0;
- t1.c_cc[VTIME] = 0;
- tcsetattr(_devh, TCSADRAIN, &t1);
- }
-
-}
-#endif
-
-
-int HMI::serial_read(int fh, char *buf) {
-#ifdef ESP32
- return (uart_read_bytes(fh, buf, 1, 1));
-#else
- return (read(fh,buf,1));
-#endif
-}
-
-int HMI::serial_write(int fh, char *buf, int len) {
-#ifdef ESP32
- return (uart_write_bytes(fh, buf, len));
-#else
- return(write(fh,buf,len));
-#endif
-}
-
-int HMI::iReadProt(int ms) {
- int cnt = ms;
- int ec = 0; // end counter (3 x 0xFF)
- char rc;
- int i=0;
- int res;
- printf("CNT:%d\n",cnt);fflush(stdout);
- while (cnt > 0) {
- if ((res=serial_read(_devh, &rc)) == 1) {
-#ifdef DEBUG
- printf(" <%02X> ", rc);
- fflush (stdout);
-#endif
- RecvBuf[i++]=rc;
- if (rc==0xFF) {
- ec++;
- if (ec==3) {
- i-=3;
- RecvBuf[i]=0;
-#ifdef DEBUG
- idumpbuf(RecvBuf,i);
- printf("OK Received:%d\n", i);
- fflush(stdout);
-#endif
- return HMIResultOK;
- }
- }
- cnt = ms;
- } else {
- cnt--;
-#ifdef DEBUG
- printf(" - ");
- fflush (stdout);
-#endif
-#ifdef ESP32
- vTaskDelay(1);
-#else
- usleep(1000);
-#endif
- }
- }
- if (i==0) return HMIResultReadErr;
- RecvBuf[i]=0;
-#ifdef DEBUG
- printf("ERR Received:%d:%s\n", i,RecvBuf);
- fflush(stdout);
-#endif
- return HMIResultReadErr;
-}
-
-int HMI::iReadValue(char *name,int *result) {
- char cmd[64];
- int res;
- sprintf(cmd,"get %s.txt",name);
- res=iSendProt((int)strlen(cmd),cmd);
- return res;
-}
-int HMI::iReadValue(char *name, char *result) {
- char cmd[64];
- int res;
- sprintf(cmd,"get %s.txt",name);
- res=iSendProt((int)strlen(cmd),cmd,10);
-// printf(">%s:%d<\n",cmd,res);fflush(stdout);
- if (res==HMIResultOK) {
-// idumpbuf((void *)RecvBuf, (int)strlen((char *)RecvBuf));
- strncpy(result,(char *)&RecvBuf[1],16);
- }
- return res;
-}
-int HMI::iWriteValue(char *name,int value) {
- char cmd[64];
- int res;
- sprintf(cmd,"%s.txt=\"%d\"",name,value);
-#ifdef DEBUG
-// printf(">%s<\n",cmd);fflush(stdout);
-#endif
- res=iSendProt((int)strlen(cmd),cmd);
- return res;
-}
-int HMI::iWriteValue(char *name,char * value) {
- char cmd[64];
- int res;
- sprintf(cmd,"%s.txt=\"%s\"",name,value);
-#ifdef DEBUG
-// printf(">%s<\n",cmd);fflush(stdout);
-#endif
- res=iSendProt((int)strlen(cmd),cmd);
- return res;
-}
-int HMI::iSendProt(int len, char *data) {
- int res = 0;
- int res2=0;
- char lbuf[]={0xFF,0xFF,0xFF};
- res = serial_write(_devh, (char *)data, (int)len);
- if (res>0) res2=serial_write(_devh, lbuf, 3);
- else return HMIResultWriteErr;
- if (res2<0) return HMIResultWriteErr;
- return HMIResultOK;;
-}
-int HMI::iSendProt(int len, char *data, int wait) {
- int res = 0;
- int res2=0;
- char lbuf[]={0xFF,0xFF,0xFF};
- res = serial_write(_devh, (char *)data, (int)len);
- if (res>0) res2=serial_write(_devh, (char *)lbuf, 3);
- else return HMIResultWriteErr;
- if (res2<0) return HMIResultWriteErr;
- if (wait==0) return res;
- res = iReadProt(wait);
- return res;
-}
-void HMI::idumpbuf(void *buf, int len) {
- int i, c;
- char *lb = (char*) buf;
- for (i = 0; i < len; i++) {
- c = (char) *lb++;
- printf("%02X ", c);
- }
- printf("\n");
-}