| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- /*********************************************************************************************************
- * Module : R_Led.c
- * Abstract : R_Led module displays the relay status!
- * Version : 1.0.0
- * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.)
- * Complete : 2025-02-16
- * Content : None
- * Note : None
- *********************************************************************************************************/
- #include "R_Led.h"
- #include "gd32f30x_libopt.h"
- #include "Sn74lvc573.h"
- #include "main.h"
- #define POWER_R2_Y GPIO_PIN_4
- #define POWER_R2_G GPIO_PIN_5
- #define POWER_R2_R GPIO_PIN_6
- #define POWER_R1_Y GPIO_PIN_1
- #define POWER_R1_G GPIO_PIN_2
- #define POWER_R1_R GPIO_PIN_3
- #define POWER_OUT_R GPIO_PIN_14
- #define POWER_OUT_G GPIO_PIN_13
- #define POWER_OUT_Y GPIO_PIN_12
- #define INPUT_1_STU_G GPIO_PIN_3
- #define INPUT_1_STU_R GPIO_PIN_4
- #define INPUT_2_STU_G GPIO_PIN_6
- #define INPUT_2_STU_R GPIO_PIN_5
- #define OUTPUT_1_STU_G GPIO_PIN_1
- #define OUTPUT_1_STU_R GPIO_PIN_2
- #define OUTPUT_2_STU_G GPIO_PIN_13
- #define OUTPUT_2_STU_R GPIO_PIN_12
- #define OUTPUT_STU_G GPIO_PIN_2
- #define OUTPUT_STU_R GPIO_PIN_14
- uint16_t led_status = 0;
- uint8_t out_status = 0;
- void r_led_init(void)
- {
- rcu_periph_clock_enable(RCU_GPIOD);
- rcu_periph_clock_enable(RCU_GPIOC);
- //gpio_init(GPIOD,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,POWER_R2_Y |POWER_R2_G| POWER_R2_R | POWER_R1_Y | POWER_R1_G | POWER_R1_R | POWER_OUT_R | POWER_OUT_G | POWER_OUT_Y);
- gpio_init(GPIOD,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,INPUT_2_STU_G |INPUT_2_STU_R|
- OUTPUT_1_STU_G | OUTPUT_1_STU_R |
- OUTPUT_2_STU_G | OUTPUT_2_STU_R |
- OUTPUT_STU_R |
- INPUT_1_STU_G | INPUT_1_STU_R);
-
-
- gpio_bit_reset(GPIOD,INPUT_2_STU_G |INPUT_2_STU_R|
- OUTPUT_1_STU_G | OUTPUT_1_STU_R |
- OUTPUT_2_STU_G | OUTPUT_2_STU_R |
- OUTPUT_STU_R |
- INPUT_1_STU_G | INPUT_1_STU_R);
-
-
- gpio_init(GPIOC,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,OUTPUT_STU_G);
- gpio_bit_reset(GPIOC,OUTPUT_STU_G);
-
- //gpio_bit_reset(GPIOD, POWER_R2_Y |POWER_R2_G| POWER_R2_R | POWER_R1_Y | POWER_R1_G | POWER_R1_R | POWER_OUT_R | POWER_OUT_G | POWER_OUT_Y);
-
- }
- void in_r_led_on_off(unsigned char channel)
- {
- // if(channel == 0)
- // {
- // gpio_bit_set(GPIOD, POWER_R1_G);
- // gpio_bit_reset(GPIOD, POWER_R2_G);
- // }else
- // {
- // gpio_bit_reset(GPIOD, POWER_R1_G);
- // gpio_bit_set(GPIOD, POWER_R2_G);
- // }
- }
- void out_r_led(unsigned char status)
- {
- // if(status == 0)
- // {
- // gpio_bit_set(GPIOD, POWER_OUT_G);
- // }else
- // {
- // gpio_bit_reset(GPIOD, POWER_OUT_G);
- // }
- }
- void show_wanning_led(void)
- {
- sts_data_t *data = get_sts();
- if(data)
- {
- uint16_t value = 0;
- uint8_t value2 = 0;
- uint16_t wanning_1 = *(uint16_t*)&(data->m_data.m_r.r_data.input_wanning.in_wan[0]);
- uint16_t wanning_2 = *(uint16_t*)&(data->m_data.m_r.r_data.input_wanning.in_wan[1]);
- uint16_t out_wanning = *(uint16_t*)(&data->m_data.m_r.r_data.output_waning.out_waning);
- if(data->m_data.m_r.r_data.input_status.input_status[0] && data->m_data.m_r.r_data.input_status.input_status[1])
- {
- value |= INPUT_1_STU_G;
- value |= INPUT_2_STU_G;
- }else
- {
- if(data->m_data.m_r.r_data.input_status.input_status[0])
- {
- value |= INPUT_1_STU_G;
- }else
- value |= INPUT_1_STU_R;
- if(data->m_data.m_r.r_data.input_status.input_status[1])
- {
- value |= INPUT_2_STU_G;
- }else
- value |= INPUT_2_STU_R;
- }
-
- if(data->m_data.m_rw.rw_data.chiose_ch == INPUT_CHANNEL_1)
- {
- if(wanning_1 == 0 && out_wanning == 0)
- {
- value |= OUTPUT_1_STU_G;
- }else
- {
- value != OUTPUT_1_STU_R;
- }
-
-
- }else
- {
- if(wanning_2 == 0 && out_wanning == 0)
- {
- value |= OUTPUT_2_STU_G;
- }else
- {
- value != OUTPUT_2_STU_R;
- }
- }
- if(data->m_data.m_rw.rw_data.md_eep.out_status == 1)
- {
- value2 = 1;
- }else
- value2 = 0;
-
- if(value != led_status)
- {
- led_status = value;
- gpio_bit_reset(GPIOD, INPUT_2_STU_G |INPUT_2_STU_R|
- OUTPUT_1_STU_G | OUTPUT_1_STU_R |
- OUTPUT_2_STU_G | OUTPUT_2_STU_R |
- INPUT_1_STU_G | INPUT_1_STU_R);
- gpio_bit_set(GPIOD,led_status);
- }
-
- if(value2 != out_status)
- {
- out_status = value2;
- gpio_bit_reset(GPIOC,OUTPUT_STU_G);
- gpio_bit_reset(GPIOD,OUTPUT_STU_R);
- if(out_status)
- {
- gpio_bit_set(GPIOC,OUTPUT_STU_G);
- }else
- {
- gpio_bit_set(GPIOD,OUTPUT_STU_R);
- }
- }
- }
- }
|