From f3e8069a6293a765ecc61e8aff346e6d41c601ae Mon Sep 17 00:00:00 2001
From: Jochen Friedrich <jochen@scram.de>
Date: Mon, 13 Jan 2025 08:50:18 +0100
Subject: [PATCH] Sync work

---
 boards/build.sh           |  10 ++--
 boards/lc.c               |  12 ++++
 n76e003_blink/blink_raw.c |  13 ++---
 n76e003_blink/build.sh    |   2 +-
 relay-tuyafw/Delay.c      | 115 --------------------------------------
 relay-tuyafw/build.sh     |   3 -
 relay-tuyafw/config.json  |  13 -----
 7 files changed, 23 insertions(+), 145 deletions(-)
 delete mode 100644 relay-tuyafw/Delay.c
 delete mode 100755 relay-tuyafw/build.sh
 delete mode 100644 relay-tuyafw/config.json

diff --git a/boards/build.sh b/boards/build.sh
index 19c8d12..dfe99da 100755
--- a/boards/build.sh
+++ b/boards/build.sh
@@ -1,5 +1,5 @@
-sdcc -mmcs51  -o lc.ihx lc.c -D FOSC_160000 -I../include
-sdcc -mmcs51 --model-large -c MySensors.c -D FOSC_160000 -D MY_NODE_ID=201 -I../include
-sdcc -mmcs51 --model-large -o chan8.ihx chan8.c MySensors.rel -D FOSC_160000 -I../include
-sdcc -mmcs51 --model-large -c MySensors.c -D FOSC_160000 -D MY_NODE_ID=202 -I../include
-sdcc -mmcs51 --model-large -o rs485relay.ihx rs485relay.c MySensors.rel -D FOSC_160000 -I../include
+sdcc-sdcc -mmcs51  -o lc.ihx lc.c -D FOSC_160000 -I../include
+sdcc-sdcc -mmcs51 --model-large -c MySensors.c -D FOSC_160000 -D MY_NODE_ID=201 -I../include
+sdcc-sdcc -mmcs51 --model-large -o chan8.ihx chan8.c MySensors.rel -D FOSC_160000 -I../include
+sdcc-sdcc -mmcs51 --model-large -c MySensors.c -D FOSC_160000 -D MY_NODE_ID=202 -I../include
+sdcc-sdcc -mmcs51 --model-large -o rs485relay.ihx rs485relay.c MySensors.rel -D FOSC_160000 -I../include
diff --git a/boards/lc.c b/boards/lc.c
index 87e9258..8f212f0 100644
--- a/boards/lc.c
+++ b/boards/lc.c
@@ -113,6 +113,9 @@ void process(unsigned char cmd, unsigned int len, unsigned char *buffer) {
       len = strlen(buffer);
       sendpkt(1, len, buffer);
       break;
+    case 2: /* Config */
+      sendpkt(2, 0, NULL); /* No GPIO Pins */
+      break;
     case 3: /* WIFI State */
       sendpkt(3, 0, NULL);
       break;
@@ -120,6 +123,15 @@ void process(unsigned char cmd, unsigned int len, unsigned char *buffer) {
       tuya_receive(len, buffer);
       break;
     case 8: /* Query Command */
+      buffer[0] = 0;
+      buffer[1] = 1;
+      buffer[2] = 1;
+      buffer[3] = 0;
+      buffer[4] = 1;
+      buffer[5] = 1;
+      buffer[6] = 1;
+      buffer[7] = 0;
+      sendpkt(7, 8, buffer);
       break;
   }
 }
diff --git a/n76e003_blink/blink_raw.c b/n76e003_blink/blink_raw.c
index e2979c9..07f49ac 100644
--- a/n76e003_blink/blink_raw.c
+++ b/n76e003_blink/blink_raw.c
@@ -13,15 +13,12 @@
 #include <nuvoton/functions.h>
 #include <nuvoton/N76E003.h>
 #include <nuvoton/Common.h>
-#include <nuvoton/Delay.h>
 #include <nuvoton/SFR_Macro.h>
 
 // 16Mhz clock
 #define CLOCK 16000000L
-// Divide by 12
-#define T0CLOCK ((CLOCK)/12L)
 // Per milisecond
-#define T0_1MS ((T0CLOCK)/1000L)
+#define T0_1MS ((CLOCK)/1000L)
 
 static void msdelay(unsigned long int count)
 {
@@ -62,14 +59,14 @@ void main() {
 			P01 = 0;
 			P13 = 0;
 			msdelay(500);
-			P01 = 0;
+			P01 = 1;
 			P13 = 0;
 			msdelay(500);
 			P01 = 0;
-			P13 = 0;
+			P13 = 1;
 			msdelay(500);
-			P01 = 0;
-			P13 = 0;
+			P01 = 1;
+			P13 = 1;
 			msdelay(500);
 		}
 	}
diff --git a/n76e003_blink/build.sh b/n76e003_blink/build.sh
index 9ef0c15..e61f676 100755
--- a/n76e003_blink/build.sh
+++ b/n76e003_blink/build.sh
@@ -1 +1 @@
-sdcc -mmcs51  -o blink_raw.ihx blink_raw.c -D FOSC_160000 -I../include
+sdcc-sdcc -mmcs51  -o blink_raw.ihx blink_raw.c -D FOSC_160000 -I../include
diff --git a/relay-tuyafw/Delay.c b/relay-tuyafw/Delay.c
deleted file mode 100644
index 5c7bd4b..0000000
--- a/relay-tuyafw/Delay.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*---------------------------------------------------------------------------------------------------------*/
-/*                                                                                                         */
-/* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved.                                         */
-/*                                                                                                         */
-/*---------------------------------------------------------------------------------------------------------*/
-
-//***********************************************************************************************************
-//  Nuvoton Technoledge Corp. 
-//  Website: http://www.nuvoton.com
-//  E-Mail : MicroC-8bit@nuvoton.com
-//  Date   : Apr/21/2016
-//***********************************************************************************************************
-
-#include "nuvoton/N76E003.h"
-#include "nuvoton/Common.h"
-#include "nuvoton/Delay.h"
-#include "nuvoton/SFR_Macro.h"
-#include "nuvoton/functions.h"
-
-//-------------------------------------------------------------------------
-void Timer0_Delay100us(UINT32 u32CNT)
-{
-    clr_T0M;                                		//T0M=0, Timer0 Clock = Fsys/12
-    TMOD |= 0x01;                         		  //Timer0 is 16-bit mode
-    set_TR0;                            		    //Start Timer0
-    while (u32CNT != 0)
-    {
-        TL0 = LOBYTE(TIMER_DIV12_VALUE_100us);	//Find  define in "Function_define.h" "TIMER VALUE"
-        TH0 = HIBYTE(TIMER_DIV12_VALUE_100us);
-        while (TF0 != 1);       		            //Check Timer0 Time-Out Flag
-        clr_TF0;
-        u32CNT --;
-    }
-    clr_TR0;                       			        //Stop Timer0
-}
-//------------------------------------------------------------------------------
-void Timer0_Delay1ms(UINT32 u32CNT)
-{
-    clr_T0M;                                		//T0M=0, Timer0 Clock = Fsys/12
-    TMOD |= 0x01;                           		//Timer0 is 16-bit mode
-    set_TR0;                              		  //Start Timer0
-    while (u32CNT != 0)
-    {
-        TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms); 		//Find  define in "Function_define.h" "TIMER VALUE"
-        TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);
-        while (TF0 != 1);                   		//Check Timer0 Time-Out Flag
-        clr_TF0;
-        u32CNT --;
-    }
-    clr_TR0;                              		  //Stop Timer0
-}
-
-//------------------------------------------------------------------------------
-void Timer1_Delay10ms(UINT32 u32CNT)
-{
-    clr_T1M;																		//T1M=0, Timer1 Clock = Fsys/12
-    TMOD |= 0x10;																//Timer1 is 16-bit mode
-    set_TR1;																		//Start Timer1
-    while (u32CNT != 0)
-    {
-        TL1 = LOBYTE(TIMER_DIV12_VALUE_10ms);		//Find  define in "Function_define.h" "TIMER VALUE"
-        TH1 = HIBYTE(TIMER_DIV12_VALUE_10ms);
-        while (TF1 != 1);												//Check Timer1 Time-Out Flag
-        clr_TF1;
-        u32CNT --;
-    }
-    clr_TR1;                               			//Stop Timer1
-}
-//------------------------------------------------------------------------------
-void Timer2_Delay500us(UINT32 u32CNT)
-{
-    clr_T2DIV2;																	//Timer2 Clock = Fsys/4 
-    clr_T2DIV1;
-    set_T2DIV0;
-    set_TR2;                                		//Start Timer2
-    while (u32CNT != 0)
-    {
-        TL2 = LOBYTE(TIMER_DIV4_VALUE_500us);		//Find  define in "Function_define.h" "TIMER VALUE"
-        TH2 = HIBYTE(TIMER_DIV4_VALUE_500us);
-        while (TF2 != 1);                   		//Check Timer2 Time-Out Flag
-        clr_TF2;
-        u32CNT --;
-    }
-    clr_TR2;                                		//Stop Timer2
-}
-//------------------------------------------------------------------------------
-void Timer3_Delay100ms(UINT32 u32CNT)
-{
-    T3CON = 0x07;                           		//Timer3 Clock = Fsys/128
-    set_TR3;                                		//Trigger Timer3
-    while (u32CNT != 0)
-    {
-        RL3 = LOBYTE(TIMER_DIV128_VALUE_100ms); //Find  define in "Function_define.h" "TIMER VALUE"
-        RH3 = HIBYTE(TIMER_DIV128_VALUE_100ms);
-        while ((T3CON&SET_BIT4) != SET_BIT4);		//Check Timer3 Time-Out Flag
-        clr_TF3;
-        u32CNT --;
-    }
-    clr_TR3;                                		//Stop Timer3
-}
-//------------------------------------------------------------------------------
-void Timer3_Delay10us(UINT32 u32CNT)
-{
-    T3CON = 0x07;                           		//Timer3 Clock = Fsys/128
-    set_TR3;                                		//Trigger Timer3
-    while (u32CNT != 0)
-    {
-        RL3 = LOBYTE(TIMER_DIV4_VALUE_10us); //Find  define in "Function_define.h" "TIMER VALUE"
-        RH3 = HIBYTE(TIMER_DIV4_VALUE_10us);
-        while ((T3CON&SET_BIT4) != SET_BIT4);		//Check Timer3 Time-Out Flag
-        clr_TF3;
-        u32CNT --;
-    }
-    clr_TR3;                                		//Stop Timer3
-}
diff --git a/relay-tuyafw/build.sh b/relay-tuyafw/build.sh
deleted file mode 100755
index 6fb1ac5..0000000
--- a/relay-tuyafw/build.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-sdcc -mmcs51  -c Delay.c -D FOSC_160000 -I../include
-#sdcc -mmcs51  -c Common.c -D FOSC_160000 -I../include
-sdcc -mmcs51  -o 2relays.ihx main.c Delay.rel -D FOSC_160000 -I../include
diff --git a/relay-tuyafw/config.json b/relay-tuyafw/config.json
deleted file mode 100644
index 5787cac..0000000
--- a/relay-tuyafw/config.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "boot_select": "aprom",
-    "pwm_enabled_during_ocd": false,
-    "ocd_enabled": true,
-    "reset_pin_disabled": false,
-    "locked": false,
-    "ldrom_size": "0kb",
-    "bod_disabled": false,
-    "bod_voltage": "2v2",
-    "iap_enabled_in_brownout": false,
-    "bod_reset_disabled": false,
-    "wdt": "disabled"
-}