lpcmanager

Parents 1679bae6e7f1
Children 1adc3a1b4233
Added support for connecting LHC1-type devices on RS-485 bus when using LHC1_GOT_002.
--- a/LPCArch.py Mon Sep 15 13:14:29 2025 +0200
+++ b/LPCArch.py Thu Sep 25 15:02:21 2025 +0200
@@ -82,7 +82,7 @@
},
"LHC1_GOT_002" :{
"type": "SOM",
- "header": "MC10",
+ "header": "LHC1_GOT002",
"features":[
("On Board", "SOM_OnBoard"),
("Devices", "SOM_Devices")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LPCBus/LHC1_GOT002.h Thu Sep 25 15:02:21 2025 +0200
@@ -0,0 +1,4 @@
+#include "MC10.h"
+
+#define LHC1_DEVICES
+
--- a/LPCBus/SOM_Devices_decl.c Mon Sep 15 13:14:29 2025 +0200
+++ b/LPCBus/SOM_Devices_decl.c Thu Sep 25 15:02:21 2025 +0200
@@ -486,6 +486,105 @@
}
}
+#ifdef LHC1_DEVICES
+void InitUartPortDevices_shortBuffer(void)
+{
+ unsigned char i=0;
+
+ uartTimeout.tv_sec = 0;
+ uartTimeout.tv_usec = 50000; /* 50 ms timeout */
+
+ for(i=0;i<MAX_UART_DEVICES;i++)
+ {
+ switch(uartDev[i][1])
+ {
+ case(0): /* MU1 */
+ case(2):
+ case(4):
+ case(6):
+ case(8):
+ case(10):
+ case(12):
+ case(14):
+ case(16):
+ case(18):
+ case(20):
+ case(22):
+ case(26): /* MU4 */
+ case(28): /* MU5 */
+ case(30): /* TH1 */
+ /* **************************************************** */
+ case(32): /* MU1 cache*/
+ case(34):
+ case(36):
+ case(38):
+ case(40):
+ case(42):
+ case(44):
+ case(46):
+ case(48):
+ case(50):
+ case(52):
+ case(54):
+ case(58): /* MU4 cache */
+ case(60): /* MU5 cache */
+ case(62): /* TH1 cache */
+ /* ***************************************************** */
+ case(66): /* MU1 */
+ case(68):
+ case(70):
+ case(72):
+ case(74):
+ case(76):
+ case(78):
+ case(80):
+ case(82):
+ case(84):
+ case(86):
+ case(88):
+ /* ***************************************************** */
+ case(90): /* TH1 */
+ case(92):
+ case(94):
+ case(96):
+ /* ***************************************************** */
+ case(98): /* MU1 */
+ case(100):
+ case(102):
+ case(104):
+ case(108):
+ case(110):
+ case(112):
+ case(114):
+ case(116):
+ case(118):
+ case(120):
+ /* ***************************************************** */
+ case(128): /* MU3 */
+ case(130): /* MU2 */
+ case(132): /* VAV MU6 */
+ case(134): /* GREASE1 */
+ case(136): /* M3U */
+ /* ***************************************************** */
+ case(160): /* MU3 cache */
+ case(162): /* MU2 cache */
+ case(164): /* VAV Mu6 cache */
+ case(166): /* GREASE1 cache */
+ case(168): /* M3U cache */
+ /* ***************************************************** */
+ case(198): /* C01 */
+ uartPortDevices[i] = &UARTDevice;
+ uartPortTim[i].toValue = msTOns(50); /* 50ms */
+ uartPortTim[i].status = TIM_EN_RUNNING;
+ break;
+ default:
+ uartPortDevices[i] = NULL; /* "Empty" or unknown module */
+ uartPortTim[i].status = TIM_DISABLED;
+ break;
+ }
+ }
+}
+#else
void InitUartPortDevices_shortBuffer(void)
{
unsigned char i=0;
@@ -584,3 +683,4 @@
}
}
}
+#endif
--- a/LPCBus/SOM_Devices_init.c Mon Sep 15 13:14:29 2025 +0200
+++ b/LPCBus/SOM_Devices_init.c Thu Sep 25 15:02:21 2025 +0200
@@ -30,6 +30,10 @@
UART_WakeCondValue = 0;
UART_task_active = 1;
+/* Clear connected devices array */
+for(int i=0;i<MAX_UART_DEVICES;i++)
+ uartDev[i][1] = 255;
+
%(init_code)s
UART_fd = openserial(serialdev, uartBaudrate); /* uartBaudrate is initialized from Composer */