Explorar o código

Работа со скриптами.

TelenkovDmitry hai 5 meses
pai
achega
de423481c3
Modificáronse 6 ficheiros con 1169 adicións e 1145 borrados
  1. 17 2
      fw/modules/io/analog_input.c
  2. 369 370
      project/ewarm/iap/iap.dep
  3. 769 761
      project/ewarm/module_universal_io.dep
  4. 6 5
      tools/analog_in.py
  5. 8 7
      tools/analog_out.py
  6. BIN=BIN
      tools/fw.bin

+ 17 - 2
fw/modules/io/analog_input.c

@@ -13,7 +13,7 @@
 #include <stdio.h>
 
 #undef DBG
-#define DBG if(1)
+#define DBG if(0)
 
 #if defined (MAI_12)  
 
@@ -195,6 +195,16 @@ bool ai_adc_init(void)
 // Оцифровка всех 16-и каналов (входы + дополнительные каналы)
 void ai_processing(void)
 {
+#if 1
+    adc_meas_two_channels(&settings.ai[0], &settings.ai[0 + 6], 
+                              &adc_com_raw_data[0], &adc_com_raw_data[0 + 6]);
+        
+    // Фильтрация
+    adc_com_fil_data[0]     = average_int(&average_filter[0], adc_com_raw_data[0]);
+    adc_com_fil_data[0 + 6] = average_int(&average_filter[0 + 6], adc_com_raw_data[0 + 6]);
+#endif
+    
+#if 0  
     // 12 основных каналов 
     for (uint8_t i = 0; i < AI_COMMON_NUMBER/2; i++)
     {
@@ -205,7 +215,9 @@ void ai_processing(void)
         adc_com_fil_data[i]     = average_int(&average_filter[i], adc_com_raw_data[i]);
         adc_com_fil_data[i + 6] = average_int(&average_filter[i + 6], adc_com_raw_data[i + 6]);
     }
-
+#endif
+    
+    
 #if 0    
     // 4 дополнительных канала
     for (uint8_t i = 0; i < AI_ADD_NUMBER/2; i++)
@@ -243,6 +255,8 @@ void adc_meas_two_channels(ai_t *one, ai_t *two, uint16_t *out_one, uint16_t *ou
         *out_one = MS5192T_SingleConversion();
     }            
     
+    
+#if 0    
     // 2 - ой канал
     if (two->state == 0) {
         DBG printf("[two] channel name: %u off\r\n", two->name);
@@ -257,6 +271,7 @@ void adc_meas_two_channels(ai_t *one, ai_t *two, uint16_t *out_one, uint16_t *ou
         MS5192T_SetChannel(MS5192T_CH_AIN2P_AIN2M);
         *out_two = MS5192T_SingleConversion();
     }
+#endif    
 }
 
 //

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 369 - 370
project/ewarm/iap/iap.dep


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 769 - 761
project/ewarm/module_universal_io.dep


+ 6 - 5
tools/analog_in.py

@@ -186,12 +186,13 @@ def main():
             print(ai.get_inputs_mode())
             sleep(1)
     '''
-            
+
+    # ai.sys.get_system_vars()     
 
     
     # print(ai.get_inputs_state())
     # ai.set_inputs_state(0b1111_1111_1111)
-    # ai.set_inputs_state(0b010_0000_0000)
+    ai.set_inputs_state(0b0000_0100_0000)
     # ai.set_inputs_state(0b1111_1111_1111)
     # print(ai.get_inputs_state())
     
@@ -199,11 +200,11 @@ def main():
     # ai.set_inputs_state(0b0)
 
     # print(ai.get_inputs_mode())
-    # ai.set_inputs_mode(0b00001)
+    ai.set_inputs_mode(0b0000_0100_0000)
     # print(ai.get_inputs_mode())
 
     '''Питание внешних датчиков'''
-    # ai.set_ext_sens_power(1)
+    ai.set_ext_sens_power(1)
 
     '''Аварии аналоговых входов'''
     # for i in range(100):
@@ -220,7 +221,7 @@ def main():
     # ai.print_raw_inputs()
 
     '''Вывод на график. Сырые данные'''
-    ai.show_graph(ai.get_raw_inputs,  'AIN_1')
+    # ai.show_graph(ai.get_raw_inputs,  'AIN_7')
 
     '''Вывод на график. Фильтрованные данные'''
     # ai.show_graph(ai.get_fil_inputs, 'AIN_FIL_12')

+ 8 - 7
tools/analog_out.py

@@ -67,7 +67,7 @@ class IO_AnalogOutput(IO_Module):
     # Значения состояний выходов вкл./выкл. (битовое поле)
     def set_outputs_mode(self, val):
         if self.DBG:
-            print(Fore.BLUE +  f'Write reg {[hex(AoReg.OUT_MODE.value)]} outputs mode (SAVE MODE): {format(val, '04b')}')
+            print(Fore.BLUE +  f'Write reg {[hex(AoReg.OUT_MODE.value)]} outputs mode: {format(val, '04b')}')
         self.modbus.write_holding_register(AoReg.OUT_MODE.value, val)
 
     # Значения состояний выходов вкл./выкл. в безопасном режиме (битовое поле)
@@ -102,7 +102,7 @@ def main():
     '''Настройка аналоговых выходов'''
     ao.set_outputs_state(0b1111)
     # ao.set_outputs_state_save(0b1111)
-    # ao.set_outputs_mode(0b0000)
+    ao.set_outputs_mode(0b0001)
     # ao.set_outputs_mode_save(0b0000)
 
     '''Чтение режимов работы аналоговых выходов'''
@@ -113,19 +113,20 @@ def main():
     # ao.get_outputs_power()
 
     '''Установка значений на выходах'''
-    values = [0, 0, 0, 0]
+    values = [35000, 0, 0, 0]
     ao.set_ouputs_value(1, values[0])
-    ao.set_ouputs_value(2, values[1])
-    ao.set_ouputs_value(3, values[2])
-    ao.set_ouputs_value(4, values[3])
+    # ao.set_ouputs_value(2, values[1])
+    # ao.set_ouputs_value(3, values[2])
+    # ao.set_ouputs_value(4, values[3])
     
+    '''
     while True:
         ao.set_ouputs_value(4, values[0])
         values[0] += 100
         if values[0] >= 50000:
             values[0] = 0
         sleep(0.1)
-        
+    '''
 
     '''
     ao.set_ouputs_value(1, 12)

BIN=BIN
tools/fw.bin


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio