123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- //==============================================================================
- // Purpose: DigitalOutput-Ansteuerung
- //
- // Created on: 21.09.2012 by IPE
- //
- // History
- // 21.09.2012 neu, T.Maurer
- //==============================================================================
- #include "BMS_Master.h"
- static void switch_allRelais(uint8_t isON);
- static void switch_allLEDs(uint8_t isON);
- static void switch_allHsSwitches(uint8_t isON);
- void RelaisLEDs_init()
- {
- //Init ISOMETER
- SIU.PCR[PIN_REGNR_MHS].R = 0x0100; //Input
- SIU.PCR[PIN_REGNR_OKHS].R = 0x0100; //Input
-
- //Init LEDs
- SIU.PCR[PIN_REGNR_LED1].R = 0x0200; //Output
- SIU.PCR[PIN_REGNR_LED2].R = 0x0200; //Output
- SIU.PCR[PIN_REGNR_LED3].R = 0x0200; //Output
- SIU.PCR[PIN_REGNR_LED4].R = 0x0200; //Output
-
- //Init HS-Switches
- SIU.PCR[PIN_REGNR_HS1].R = 0x0302; // HS_IN_test1; PF[0] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS2].R = 0x0302; // HS_IN_test2; PF[1] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS3].R = 0x0302; // HS_IN_test3; PF[2] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS4].R = 0x0302; // HS_IN_test4; PF[3] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS5].R = 0x0302; // HS_IN_test5; PF[4] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS6].R = 0x0302; // HS_IN_test6; PF[5] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS7].R = 0x0302; // HS_IN_test7; PF[6] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_HS8].R = 0x0302; // HS_IN_test8; PF[7] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- //Init RelaisSwitches
- SIU.PCR[PIN_REGNR_RELAIS_PLUS].R = 0x0302; // HS_IN_test1; PF[0] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_RELAIS_PRECHA].R = 0x0302; // HS_IN_test2; PF[1] Output enable, input enable, Weak PU/PD enable, Weak PD selected
- SIU.PCR[PIN_REGNR_RELAIS_SLAVE].R = 0x0302; // HS_IN_test3; PF[2] Output enable, input enable, Weak PU/PD enable, Weak PD selected
-
- //Init PWR SUpply relais
- SIU.PCR[PIN_REGNR_PWR_SUPPLY].R = 0x0302;
- switch_allLEDs(0);
- }
- uint8_t RelaisLEDs_TM_update(uint8_t tick) //TestMode
- {
- static uint8_t state = 0;
- static uint16_t msek = 0;
- if (tick)
- {
- msek+=1;
- if (state == 0) {
- switch_allRelais(1);
- switch_allLEDs(1);
- switch_allHsSwitches(1);
- if (msek > 3000) {
- state = 1;
- }
- }
- else {
- // switch_allRelais(0);
- switch_allLEDs(0);
- switch_allHsSwitches(0);
- return 1;
- }
- }
- return 0;
- }
- //--------------------------------------------------------------
- static void switch_allRelais(uint8_t isON)
- {
- if ( isON == 0 ) {
- CLEAR_OUTPIN(PIN_REGNR_RELAIS_PLUS);
- CLEAR_OUTPIN(PIN_REGNR_RELAIS_PRECHA);
- CLEAR_OUTPIN(PIN_REGNR_RELAIS_SLAVE);
- }
- else {
- SET_OUTPIN(PIN_REGNR_RELAIS_PLUS);
- SET_OUTPIN(PIN_REGNR_RELAIS_PRECHA);
- SET_OUTPIN(PIN_REGNR_RELAIS_SLAVE);
- }
- }
- static void switch_allLEDs(uint8_t isON)
- {
- if ( isON == 0 ) {
- CLEAR_OUTPIN(PIN_REGNR_LED1);
- CLEAR_OUTPIN(PIN_REGNR_LED2);
- CLEAR_OUTPIN(PIN_REGNR_LED3);
- CLEAR_OUTPIN(PIN_REGNR_LED4);
- }
- else {
- SET_OUTPIN(PIN_REGNR_LED1);
- SET_OUTPIN(PIN_REGNR_LED2);
- SET_OUTPIN(PIN_REGNR_LED3);
- SET_OUTPIN(PIN_REGNR_LED4);
- }
- }
- static void switch_allHsSwitches(uint8_t isON)
- {
- if ( isON == 0 ) {
- CLEAR_OUTPIN(PIN_REGNR_HS1);
- CLEAR_OUTPIN(PIN_REGNR_HS2);
- CLEAR_OUTPIN(PIN_REGNR_HS3);
- CLEAR_OUTPIN(PIN_REGNR_HS4);
- CLEAR_OUTPIN(PIN_REGNR_HS5);
- CLEAR_OUTPIN(PIN_REGNR_HS6);
- CLEAR_OUTPIN(PIN_REGNR_HS7);
- CLEAR_OUTPIN(PIN_REGNR_HS8);
- }
- else {
- SET_OUTPIN(PIN_REGNR_HS1);
- SET_OUTPIN(PIN_REGNR_HS2);
- SET_OUTPIN(PIN_REGNR_HS3);
- SET_OUTPIN(PIN_REGNR_HS4);
- SET_OUTPIN(PIN_REGNR_HS5);
- SET_OUTPIN(PIN_REGNR_HS6);
- SET_OUTPIN(PIN_REGNR_HS7);
- SET_OUTPIN(PIN_REGNR_HS8);
- }
- }
|