From df9d1b64a34d180423f1fd685906b0c2b86aaf0b Mon Sep 17 00:00:00 2001
From: Carlo Alessandro Nicolau <cnicolau@km3net.de>
Date: Wed, 17 Nov 2021 16:03:45 +0100
Subject: [PATCH] [in progress] Added startup sequence, checking with CLB

---
 host/python/console/__tmp                     |  0
 host/python/console/jsendcommand.py           | 13 +++++++---
 micro/BPD-V01-FIRMWARE.X/main.c               | 26 +++++++++++++++++++
 .../nbproject/configurations.xml              |  4 +--
 4 files changed, 38 insertions(+), 5 deletions(-)
 create mode 100644 host/python/console/__tmp

diff --git a/host/python/console/__tmp b/host/python/console/__tmp
new file mode 100644
index 0000000..e69de29
diff --git a/host/python/console/jsendcommand.py b/host/python/console/jsendcommand.py
index 8b7b7d1..5fa6905 100755
--- a/host/python/console/jsendcommand.py
+++ b/host/python/console/jsendcommand.py
@@ -11,7 +11,7 @@ sys.path.insert(0, '../codegen')
 import commands
 from utils import mls
 from analogvariables import *
-from bpsentities.descriptors import PayloadFieldEnum, PayloadFieldU8, PayloadFieldU16, PayloadFieldU32
+from entities.descriptors import PayloadFieldEnum, PayloadFieldU8, PayloadFieldU16, PayloadFieldU32
 from commutils import *
 import os
 
@@ -93,8 +93,15 @@ if __name__ == '__main__':
     sys.stdout = f
 
     switch_list = commands.SwitchList()
-    analog_variable_list = commands.AnalogVariableList()
-    digital_variable_list = commands.DigitalVariableList()
+
+    analog_variable_list = commands.AnalogVariableList(
+        _var_enum_index_start=1,
+        _alarm_enum_index_start=1)
+
+    digital_variable_list = commands.DigitalVariableList(
+        _var_enum_index_start=max(analog_variable_list.get_var_enum_indexes())+1,
+        _alarm_enum_index_start=max(analog_variable_list.get_alarm_enum_indexes())+1)
+
     user_pin_list = commands.UserPinList()
     commands = commands.CommandList(switch_list, analog_variable_list, digital_variable_list, user_pin_list)
 
diff --git a/micro/BPD-V01-FIRMWARE.X/main.c b/micro/BPD-V01-FIRMWARE.X/main.c
index cd7b6fe..292a5b0 100644
--- a/micro/BPD-V01-FIRMWARE.X/main.c
+++ b/micro/BPD-V01-FIRMWARE.X/main.c
@@ -27,6 +27,7 @@ void init_adcreader(void);
 void start_irqs(void);    
 void sensors_acquire_offsets(void);
 void alarms_enable(void);
+void du_base_powersequence(void);
 void manage_incoming_data(void);
 void _delay_seconds(uint8_t _seconds);
 
@@ -50,6 +51,9 @@ void main(void) {
     // enable alarms
     alarms_enable();
     
+    // du-base power up
+    du_base_powersequence();
+    
     // enter main loop
     while(1) { 
         
@@ -120,6 +124,28 @@ void alarms_enable(void) {
     // (see variables.h in generated/sources)
 }
 
+void du_base_powersequence(void) {
+    
+    // wait 5 seconds
+    _delay_seconds(5);
+    
+    // power on WWRS-A
+    switch_SWITCH_GLRA_set(SWITCHSTATE_CLOSED);
+    
+    // wait 120 seconds (the WWRS should configure in about 60 seconds)
+    _delay_seconds(120);
+    
+    // power on WWRS-B
+    switch_SWITCH_GLRB_set(SWITCHSTATE_CLOSED);
+    
+    // wait 120 seconds (the WWRS should configure in about 60 seconds)
+    _delay_seconds(120);
+    
+    // power on CLB
+    switch_SWITCH_PWB_set(SWITCHSTATE_CLOSED);
+    
+}
+
 void manage_incoming_data(void) {
     // check if a new byte is present in serial port receive buffer
     if(serialport_dataready) {  
diff --git a/micro/BPD-V01-FIRMWARE.X/nbproject/configurations.xml b/micro/BPD-V01-FIRMWARE.X/nbproject/configurations.xml
index cf4268f..2f7624c 100644
--- a/micro/BPD-V01-FIRMWARE.X/nbproject/configurations.xml
+++ b/micro/BPD-V01-FIRMWARE.X/nbproject/configurations.xml
@@ -136,7 +136,7 @@
         <targetPluginBoard></targetPluginBoard>
         <platformTool>noID</platformTool>
         <languageToolchain>XC8</languageToolchain>
-        <languageToolchainVersion>2.00</languageToolchainVersion>
+        <languageToolchainVersion>2.20</languageToolchainVersion>
         <platform>2</platform>
       </toolsSet>
       <packs>
@@ -277,7 +277,7 @@
         <targetPluginBoard></targetPluginBoard>
         <platformTool>ICD3PlatformTool</platformTool>
         <languageToolchain>XC8</languageToolchain>
-        <languageToolchainVersion>2.00</languageToolchainVersion>
+        <languageToolchainVersion>2.20</languageToolchainVersion>
         <platform>2</platform>
       </toolsSet>
       <packs>
-- 
GitLab