//************************************************************************************
//**  
//**  Source name:   C:\Users\Lord-Thoth\Dropbox\LN\Arduino Mikrocontroller\Flowcode3.fcfx
//**  Title:         
//**  Description:   
//**  Device:        AVR.ATMEGA.ATMEGA328P
//**  
//**  Generated by:  Flowcode v7.1.1.0
//**  Date:          Sunday, January 29, 2017 11:45:34
//**  Users:         1
//**  Registered to: 
//**  Licence key:   *****
//**  
//**     NICHT FÜR KOMMERZiELLE ANWENDUNGEN
//**  
//**  http://www.matrixtsl.com
//**  
//************************************************************************************


#define MX_AVR

#define MX_CAL_AVR

#define MX_CLK_SPEED 16000000

#define FCP_NULL Unconnected_Port

#define MX_UART_ID
#define MX_UART_UCSRC

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <avr\io.h>
#include <avr\interrupt.h>
#include <avr\eeprom.h>
#include <avr\wdt.h>


/*========================================================================*\
   Use :Mit Typdefinitionen
\*========================================================================*/
#include "C:\Program Files (x86)\Flowcode 7\CAL\internals.c"



/*========================================================================*\
   Use :panel
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCV_FALSE (0)
#define FCV_TRUE (1)


/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d910_led_base__TurnOn();
void FCD_03d910_led_base__TurnOff();

/*========================================================================*\
   Use :led16
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e110_led16__TurnOn FCD_03d910_led_base__TurnOn
#define FCD_02e110_led16__TurnOff FCD_03d910_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9f_led_base__TurnOn();
void FCD_03d9f_led_base__TurnOff();

/*========================================================================*\
   Use :led15
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1f_led15__TurnOn FCD_03d9f_led_base__TurnOn
#define FCD_02e1f_led15__TurnOff FCD_03d9f_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9e_led_base__TurnOn();
void FCD_03d9e_led_base__TurnOff();

/*========================================================================*\
   Use :led14
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1e_led14__TurnOn FCD_03d9e_led_base__TurnOn
#define FCD_02e1e_led14__TurnOff FCD_03d9e_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9d_led_base__TurnOn();
void FCD_03d9d_led_base__TurnOff();

/*========================================================================*\
   Use :led13
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1d_led13__TurnOn FCD_03d9d_led_base__TurnOn
#define FCD_02e1d_led13__TurnOff FCD_03d9d_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9c_led_base__TurnOn();
void FCD_03d9c_led_base__TurnOff();

/*========================================================================*\
   Use :led12
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1c_led12__TurnOn FCD_03d9c_led_base__TurnOn
#define FCD_02e1c_led12__TurnOff FCD_03d9c_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9b_led_base__TurnOn();
void FCD_03d9b_led_base__TurnOff();

/*========================================================================*\
   Use :led11
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1b_led11__TurnOn FCD_03d9b_led_base__TurnOn
#define FCD_02e1b_led11__TurnOff FCD_03d9b_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d9a_led_base__TurnOn();
void FCD_03d9a_led_base__TurnOff();

/*========================================================================*\
   Use :led10
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e1a_led10__TurnOn FCD_03d9a_led_base__TurnOn
#define FCD_02e1a_led10__TurnOff FCD_03d9a_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d99_led_base__TurnOn();
void FCD_03d99_led_base__TurnOff();

/*========================================================================*\
   Use :led9
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e19_led9__TurnOn FCD_03d99_led_base__TurnOn
#define FCD_02e19_led9__TurnOff FCD_03d99_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d98_led_base__TurnOn();
void FCD_03d98_led_base__TurnOff();

/*========================================================================*\
   Use :led8
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e18_led8__TurnOn FCD_03d98_led_base__TurnOn
#define FCD_02e18_led8__TurnOff FCD_03d98_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d97_led_base__TurnOn();
void FCD_03d97_led_base__TurnOff();

/*========================================================================*\
   Use :led7
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e17_led7__TurnOn FCD_03d97_led_base__TurnOn
#define FCD_02e17_led7__TurnOff FCD_03d97_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d96_led_base__TurnOn();
void FCD_03d96_led_base__TurnOff();

/*========================================================================*\
   Use :led6
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e16_led6__TurnOn FCD_03d96_led_base__TurnOn
#define FCD_02e16_led6__TurnOff FCD_03d96_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d95_led_base__TurnOn();
void FCD_03d95_led_base__TurnOff();

/*========================================================================*\
   Use :led5
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e15_led5__TurnOn FCD_03d95_led_base__TurnOn
#define FCD_02e15_led5__TurnOff FCD_03d95_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d94_led_base__TurnOn();
void FCD_03d94_led_base__TurnOff();

/*========================================================================*\
   Use :led4
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e14_led4__TurnOn FCD_03d94_led_base__TurnOn
#define FCD_02e14_led4__TurnOff FCD_03d94_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d93_led_base__TurnOn();
void FCD_03d93_led_base__TurnOff();

/*========================================================================*\
   Use :led3
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e13_led3__TurnOn FCD_03d93_led_base__TurnOn
#define FCD_02e13_led3__TurnOff FCD_03d93_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d92_led_base__TurnOn();
void FCD_03d92_led_base__TurnOff();

/*========================================================================*\
   Use :led2
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e12_led2__TurnOn FCD_03d92_led_base__TurnOn
#define FCD_02e12_led2__TurnOff FCD_03d92_led_base__TurnOff

/*========================================================================*\
   Use :component_label1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_03d91_led_base__TurnOn();
void FCD_03d91_led_base__TurnOff();

/*========================================================================*\
   Use :led1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_02e11_led1__TurnOn FCD_03d91_led_base__TurnOn
#define FCD_02e11_led1__TurnOff FCD_03d91_led_base__TurnOff

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_052612_switch_base__ReadState();
void FCD_052612_switch_base__WaitUntilHigh();
void FCD_052612_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw16
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_088310_sw16__ReadState FCD_052612_switch_base__ReadState
#define FCD_088310_sw16__WaitUntilHigh FCD_052612_switch_base__WaitUntilHigh
#define FCD_088310_sw16__WaitUntilLow FCD_052612_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_052611_switch_base__ReadState();
void FCD_052611_switch_base__WaitUntilHigh();
void FCD_052611_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw15
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883f_sw15__ReadState FCD_052611_switch_base__ReadState
#define FCD_0883f_sw15__WaitUntilHigh FCD_052611_switch_base__WaitUntilHigh
#define FCD_0883f_sw15__WaitUntilLow FCD_052611_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_052610_switch_base__ReadState();
void FCD_052610_switch_base__WaitUntilHigh();
void FCD_052610_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw14
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883e_sw14__ReadState FCD_052610_switch_base__ReadState
#define FCD_0883e_sw14__WaitUntilHigh FCD_052610_switch_base__WaitUntilHigh
#define FCD_0883e_sw14__WaitUntilLow FCD_052610_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526f_switch_base__ReadState();
void FCD_0526f_switch_base__WaitUntilHigh();
void FCD_0526f_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw13
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883d_sw13__ReadState FCD_0526f_switch_base__ReadState
#define FCD_0883d_sw13__WaitUntilHigh FCD_0526f_switch_base__WaitUntilHigh
#define FCD_0883d_sw13__WaitUntilLow FCD_0526f_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526e_switch_base__ReadState();
void FCD_0526e_switch_base__WaitUntilHigh();
void FCD_0526e_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw12
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883c_sw12__ReadState FCD_0526e_switch_base__ReadState
#define FCD_0883c_sw12__WaitUntilHigh FCD_0526e_switch_base__WaitUntilHigh
#define FCD_0883c_sw12__WaitUntilLow FCD_0526e_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526d_switch_base__ReadState();
void FCD_0526d_switch_base__WaitUntilHigh();
void FCD_0526d_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw11
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883b_sw11__ReadState FCD_0526d_switch_base__ReadState
#define FCD_0883b_sw11__WaitUntilHigh FCD_0526d_switch_base__WaitUntilHigh
#define FCD_0883b_sw11__WaitUntilLow FCD_0526d_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526c_switch_base__ReadState();
void FCD_0526c_switch_base__WaitUntilHigh();
void FCD_0526c_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw10
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_0883a_sw10__ReadState FCD_0526c_switch_base__ReadState
#define FCD_0883a_sw10__WaitUntilHigh FCD_0526c_switch_base__WaitUntilHigh
#define FCD_0883a_sw10__WaitUntilLow FCD_0526c_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526b_switch_base__ReadState();
void FCD_0526b_switch_base__WaitUntilHigh();
void FCD_0526b_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw9
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08839_sw9__ReadState FCD_0526b_switch_base__ReadState
#define FCD_08839_sw9__WaitUntilHigh FCD_0526b_switch_base__WaitUntilHigh
#define FCD_08839_sw9__WaitUntilLow FCD_0526b_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_0526a_switch_base__ReadState();
void FCD_0526a_switch_base__WaitUntilHigh();
void FCD_0526a_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw8
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08838_sw8__ReadState FCD_0526a_switch_base__ReadState
#define FCD_08838_sw8__WaitUntilHigh FCD_0526a_switch_base__WaitUntilHigh
#define FCD_08838_sw8__WaitUntilLow FCD_0526a_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05269_switch_base__ReadState();
void FCD_05269_switch_base__WaitUntilHigh();
void FCD_05269_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw7
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08837_sw7__ReadState FCD_05269_switch_base__ReadState
#define FCD_08837_sw7__WaitUntilHigh FCD_05269_switch_base__WaitUntilHigh
#define FCD_08837_sw7__WaitUntilLow FCD_05269_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05268_switch_base__ReadState();
void FCD_05268_switch_base__WaitUntilHigh();
void FCD_05268_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw6
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08836_sw6__ReadState FCD_05268_switch_base__ReadState
#define FCD_08836_sw6__WaitUntilHigh FCD_05268_switch_base__WaitUntilHigh
#define FCD_08836_sw6__WaitUntilLow FCD_05268_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05267_switch_base__ReadState();
void FCD_05267_switch_base__WaitUntilHigh();
void FCD_05267_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw5
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08835_sw5__ReadState FCD_05267_switch_base__ReadState
#define FCD_08835_sw5__WaitUntilHigh FCD_05267_switch_base__WaitUntilHigh
#define FCD_08835_sw5__WaitUntilLow FCD_05267_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05266_switch_base__ReadState();
void FCD_05266_switch_base__WaitUntilHigh();
void FCD_05266_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw4
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08834_sw4__ReadState FCD_05266_switch_base__ReadState
#define FCD_08834_sw4__WaitUntilHigh FCD_05266_switch_base__WaitUntilHigh
#define FCD_08834_sw4__WaitUntilLow FCD_05266_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05265_switch_base__ReadState();
void FCD_05265_switch_base__WaitUntilHigh();
void FCD_05265_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw3
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08833_sw3__ReadState FCD_05265_switch_base__ReadState
#define FCD_08833_sw3__WaitUntilHigh FCD_05265_switch_base__WaitUntilHigh
#define FCD_08833_sw3__WaitUntilLow FCD_05265_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05264_switch_base__ReadState();
void FCD_05264_switch_base__WaitUntilHigh();
void FCD_05264_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw2
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08832_sw2__ReadState FCD_05264_switch_base__ReadState
#define FCD_08832_sw2__WaitUntilHigh FCD_05264_switch_base__WaitUntilHigh
#define FCD_08832_sw2__WaitUntilLow FCD_05264_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05263_switch_base__ReadState();
void FCD_05263_switch_base__WaitUntilHigh();
void FCD_05263_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_08831_sw1__ReadState FCD_05263_switch_base__ReadState
#define FCD_08831_sw1__WaitUntilHigh FCD_05263_switch_base__WaitUntilHigh
#define FCD_08831_sw1__WaitUntilLow FCD_05263_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05262_switch_base__ReadState();
void FCD_05262_switch_base__WaitUntilHigh();
void FCD_05262_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw_slide_sub_pcb1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_06fb2_sw_slide_sub_pcb1__ReadState FCD_05262_switch_base__ReadState
#define FCD_06fb2_sw_slide_sub_pcb1__WaitUntilHigh FCD_05262_switch_base__WaitUntilHigh
#define FCD_06fb2_sw_slide_sub_pcb1__WaitUntilLow FCD_05262_switch_base__WaitUntilLow

/*========================================================================*\
   Use :ButtonCtrl
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT8 FCD_05261_switch_base__ReadState();
void FCD_05261_switch_base__WaitUntilHigh();
void FCD_05261_switch_base__WaitUntilLow();

/*========================================================================*\
   Use :sw_slide_sub_pcb
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_06fb1_sw_slide_sub_pcb__ReadState FCD_05261_switch_base__ReadState
#define FCD_06fb1_sw_slide_sub_pcb__WaitUntilHigh FCD_05261_switch_base__WaitUntilHigh
#define FCD_06fb1_sw_slide_sub_pcb__WaitUntilLow FCD_05261_switch_base__WaitUntilLow

/*========================================================================*\
   Use :fcdhelper
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :cal_adc
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define ADC_2_MX_ADC_ACTIME 40
#define MX_ADC_REF 
#define ADC_2_MX_ADC_VREFVOL 500
#define MX_ADC_CHANNEL_1 
#define MX_ADC_TYPE_2 
#define ADC_2_MX_ADC_VREFOP 0
#define ADC_2_MX_ADC_CONVSP 3
#define MX_ADC_BITS_10 
#define ADC_2_MX_ADC_CHANNEL 1

#define FCV_0aae2_cal_adc__FALSE (0)
#define FCV_0aae2_cal_adc__TRUE (1)

void FC_CAL_ADC_Disable();
void FC_CAL_ADC_Enable(MX_UINT8 FCL_CHANNEL, MX_UINT8 FCL_CONV_SPEED, MX_UINT8 FCL_VREF, MX_UINT8 FCL_T_CHARGE);
MX_UINT16 FC_CAL_ADC_Sample(MX_UINT8 FCL_SAMPLE_MODE);

/*========================================================================*\
   Use :adc_base
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT16 FCD_08f42_adc_base__RawSampleInt();
MX_UINT8 FCD_08f42_adc_base__RawAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
void FCD_08f42_adc_base__GetString(MX_CHAR *FCR_RETVAL, MX_UINT16 FCRsz_RETVAL);
MX_UINT8 FCD_08f42_adc_base__GetAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_SINT16 FCD_08f42_adc_base__RawAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_UINT16 FCD_08f42_adc_base__GetAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_FLOAT FCD_08f42_adc_base__GetVoltage();
void FCD_08f42_adc_base__RawEnable();
MX_UINT8 FCD_08f42_adc_base__RawSampleByte();
MX_UINT16 FCD_08f42_adc_base__GetInt();
void FCD_08f42_adc_base__RawDisable();
MX_UINT8 FCD_08f42_adc_base__GetByte();

/*========================================================================*\
   Use :knob_ptr_black
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCD_03521_knob_ptr_black__RawSampleInt FCD_08f42_adc_base__RawSampleInt
#define FCD_03521_knob_ptr_black__RawAverageByte FCD_08f42_adc_base__RawAverageByte
#define FCD_03521_knob_ptr_black__GetString FCD_08f42_adc_base__GetString
#define FCD_03521_knob_ptr_black__GetAverageByte FCD_08f42_adc_base__GetAverageByte
#define FCD_03521_knob_ptr_black__RawAverageInt FCD_08f42_adc_base__RawAverageInt
#define FCD_03521_knob_ptr_black__GetAverageInt FCD_08f42_adc_base__GetAverageInt
#define FCD_03521_knob_ptr_black__GetVoltage FCD_08f42_adc_base__GetVoltage
#define FCD_03521_knob_ptr_black__RawEnable FCD_08f42_adc_base__RawEnable
#define FCD_03521_knob_ptr_black__RawSampleByte FCD_08f42_adc_base__RawSampleByte
#define FCD_03521_knob_ptr_black__GetInt FCD_08f42_adc_base__GetInt
#define FCD_03521_knob_ptr_black__RawDisable FCD_08f42_adc_base__RawDisable
#define FCD_03521_knob_ptr_black__GetByte FCD_08f42_adc_base__GetByte

/*========================================================================*\
   Use :fcdhelper
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :cal_adc
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define ADC_1_MX_ADC_ACTIME 40
#define MX_ADC_REF 
#define ADC_1_MX_ADC_VREFVOL 500
#define MX_ADC_CHANNEL_0 
#define MX_ADC_TYPE_2 
#define ADC_1_MX_ADC_VREFOP 0
#define ADC_1_MX_ADC_CONVSP 3
#define MX_ADC_BITS_10 
#define ADC_1_MX_ADC_CHANNEL 0

#define FCV_0aae1_cal_adc__FALSE (0)
#define FCV_0aae1_cal_adc__TRUE (1)

void FC_CAL_ADC_Disable();
void FC_CAL_ADC_Enable(MX_UINT8 FCL_CHANNEL, MX_UINT8 FCL_CONV_SPEED, MX_UINT8 FCL_VREF, MX_UINT8 FCL_T_CHARGE);
MX_UINT16 FC_CAL_ADC_Sample(MX_UINT8 FCL_SAMPLE_MODE);

/*========================================================================*\
   Use :adc_base1
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
MX_UINT16 FCD_08f41_adc_base1__RawSampleInt();
MX_UINT8 FCD_08f41_adc_base1__RawAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
void FCD_08f41_adc_base1__GetString(MX_CHAR *FCR_RETVAL, MX_UINT16 FCRsz_RETVAL);
MX_UINT8 FCD_08f41_adc_base1__GetAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_SINT16 FCD_08f41_adc_base1__RawAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_UINT16 FCD_08f41_adc_base1__GetAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS);
MX_FLOAT FCD_08f41_adc_base1__GetVoltage();
void FCD_08f41_adc_base1__RawEnable();
MX_UINT8 FCD_08f41_adc_base1__RawSampleByte();
MX_UINT16 FCD_08f41_adc_base1__GetInt();
void FCD_08f41_adc_base1__RawDisable();
MX_UINT8 FCD_08f41_adc_base1__GetByte();

/*========================================================================*\
   Use :ctrl_lcd
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :LCD
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_04071_LCD__Clear();
void FCD_04071_LCD__PrintString(MX_CHAR *FCL_TEXT, MX_UINT16 FCLsz_TEXT);
void FCD_04071_LCD__PrintAscii(MX_UINT8 FCL_CHARACTER);
void FCD_04071_LCD__PrintNumber(MX_SINT16 FCL_NUMBER);
void FCD_04071_LCD__RAMWrite(MX_UINT8 FCL_INDEX, MX_UINT8 FCL_D0, MX_UINT8 FCL_D1, MX_UINT8 FCL_D2, MX_UINT8 FCL_D3, MX_UINT8 FCL_D4, MX_UINT8 FCL_D5, MX_UINT8 FCL_D6, MX_UINT8 FCL_D7);
void FCD_04071_LCD__ClearLine(MX_UINT8 FCL_LINE);
void FCD_04071_LCD__Cursor(MX_UINT8 FCL_X, MX_UINT8 FCL_Y);
void FCD_04071_LCD__Command(MX_UINT8 FCL_INSTRUCTION);
void FCD_04071_LCD__PrintFormattedNumber(MX_UINT32 FCL_NUMBER, MX_BOOL FCL_FORMAT);
void FCD_04071_LCD__ScrollDisplay(MX_UINT8 FCL_POSITION, MX_UINT8 FCL_DIRECTION);
void FCD_04071_LCD__RawSend(MX_UINT8 FCL_DATA, MX_BOOL FCL_TYPE);
void FCD_04071_LCD__Start();

/*========================================================================*\
   Use :lut
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
#define FCVsz_00fb1_lut__FLOATFIXEDLIST 1
#define FCVsz_00fb1_lut__INTLIST 16
#define FCVsz_00fb1_lut__FLOATLIST 1
#define FCVsz_00fb1_lut__INTFIXEDLIST 1
#define FCD_00fb1_lut__INTLIST(ix) pgm_read_byte(&(FCD_00fb1_lut__INTLIST_LUT[ix]))
ROMARRAY_(MX_UINT8) FCD_00fb1_lut__INTLIST_LUT ROMARRAY_E =
{
// Property added elements
  63, 6, 91, 79, 102, 109, 125, 7, 127, 111, 119, 124, 57, 94, 121, 113
// Dynamically added elements
 
};


/*========================================================================*\
   Use :led_7seg_quad
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/
void FCD_0fca1_led_7seg_quad__ShowDigit(MX_UINT8 FCL_DIGIT, MX_UINT8 FCL_VALUE, MX_UINT8 FCL_DECIMALPOINT);

/*========================================================================*\
   Use :bezel_radiused
       :Deklarationen zu Variablen
       :Deklarationen zur Makrofunktion
\*========================================================================*/

/*========================================================================*\
   Use :Mit Chip Adaption Layer
\*========================================================================*/
#include "C:\Program Files (x86)\Flowcode 7\CAL\includes.c"


/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d910_led_base__TurnOn()
{

	FCP_SET(B, D, 0x1, 0x0, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d910_led_base__TurnOff()
{

	FCP_SET(B, D, 0x1, 0x0, 1 - 1);

}


/*========================================================================*\
   Use :led16
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9f_led_base__TurnOn()
{

	FCP_SET(B, D, 0x2, 0x1, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9f_led_base__TurnOff()
{

	FCP_SET(B, D, 0x2, 0x1, 1 - 1);

}


/*========================================================================*\
   Use :led15
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9e_led_base__TurnOn()
{

	FCP_SET(B, D, 0x4, 0x2, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9e_led_base__TurnOff()
{

	FCP_SET(B, D, 0x4, 0x2, 1 - 1);

}


/*========================================================================*\
   Use :led14
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9d_led_base__TurnOn()
{

	FCP_SET(B, D, 0x8, 0x3, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9d_led_base__TurnOff()
{

	FCP_SET(B, D, 0x8, 0x3, 1 - 1);

}


/*========================================================================*\
   Use :led13
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9c_led_base__TurnOn()
{

	FCP_SET(B, D, 0x10, 0x4, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9c_led_base__TurnOff()
{

	FCP_SET(B, D, 0x10, 0x4, 1 - 1);

}


/*========================================================================*\
   Use :led12
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9b_led_base__TurnOn()
{

	FCP_SET(B, D, 0x20, 0x5, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9b_led_base__TurnOff()
{

	FCP_SET(B, D, 0x20, 0x5, 1 - 1);

}


/*========================================================================*\
   Use :led11
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d9a_led_base__TurnOn()
{

	FCP_SET(B, D, 0x40, 0x6, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d9a_led_base__TurnOff()
{

	FCP_SET(B, D, 0x40, 0x6, 1 - 1);

}


/*========================================================================*\
   Use :led10
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d99_led_base__TurnOn()
{

	FCP_SET(B, D, 0x80, 0x7, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d99_led_base__TurnOff()
{

	FCP_SET(B, D, 0x80, 0x7, 1 - 1);

}


/*========================================================================*\
   Use :led9
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d98_led_base__TurnOn()
{

	FCP_SET(B, C, 0x1, 0x0, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d98_led_base__TurnOff()
{

	FCP_SET(B, C, 0x1, 0x0, 1 - 1);

}


/*========================================================================*\
   Use :led8
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d97_led_base__TurnOn()
{

	FCP_SET(B, C, 0x2, 0x1, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d97_led_base__TurnOff()
{

	FCP_SET(B, C, 0x2, 0x1, 1 - 1);

}


/*========================================================================*\
   Use :led7
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d96_led_base__TurnOn()
{

	FCP_SET(B, C, 0x4, 0x2, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d96_led_base__TurnOff()
{

	FCP_SET(B, C, 0x4, 0x2, 1 - 1);

}


/*========================================================================*\
   Use :led6
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d95_led_base__TurnOn()
{

	FCP_SET(B, C, 0x8, 0x3, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d95_led_base__TurnOff()
{

	FCP_SET(B, C, 0x8, 0x3, 1 - 1);

}


/*========================================================================*\
   Use :led5
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d94_led_base__TurnOn()
{

	FCP_SET(B, C, 0x10, 0x4, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d94_led_base__TurnOff()
{

	FCP_SET(B, C, 0x10, 0x4, 1 - 1);

}


/*========================================================================*\
   Use :led4
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d93_led_base__TurnOn()
{

	FCP_SET(B, C, 0x20, 0x5, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d93_led_base__TurnOff()
{

	FCP_SET(B, C, 0x20, 0x5, 1 - 1);

}


/*========================================================================*\
   Use :led3
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d92_led_base__TurnOn()
{

	FCP_SET(FCP_NULL, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d92_led_base__TurnOff()
{

	FCP_SET(FCP_NULL, 1 - 1);

}


/*========================================================================*\
   Use :led2
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :component_label1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Turn the LED off.
\*=----------------------------------------------------------------------=*/
void FCD_03d91_led_base__TurnOn()
{

	FCP_SET(FCP_NULL, 1);

}

/*=----------------------------------------------------------------------=*\
   Use :Turn the LED on.
\*=----------------------------------------------------------------------=*/
void FCD_03d91_led_base__TurnOff()
{

	FCP_SET(FCP_NULL, 1 - 1);

}


/*========================================================================*\
   Use :led1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_052612_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x1, 0x0))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x1, 0x0))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052612_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052612_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw16
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_052611_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x2, 0x1))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x2, 0x1))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052611_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x2, 0x1);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x2, 0x1);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052611_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x2, 0x1);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x2, 0x1);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw15
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_052610_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x4, 0x2))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x4, 0x2))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052610_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x4, 0x2);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x4, 0x2);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_052610_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x4, 0x2);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x4, 0x2);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw14
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526f_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x8, 0x3))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x8, 0x3))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526f_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x8, 0x3);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x8, 0x3);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526f_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x8, 0x3);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x8, 0x3);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw13
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526e_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x10, 0x4))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x10, 0x4))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526e_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x10, 0x4);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x10, 0x4);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526e_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x10, 0x4);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x10, 0x4);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw12
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526d_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x20, 0x5))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x20, 0x5))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526d_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x20, 0x5);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x20, 0x5);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526d_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x20, 0x5);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x20, 0x5);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw11
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526c_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x40, 0x6))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x40, 0x6))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526c_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x40, 0x6);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x40, 0x6);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526c_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x40, 0x6);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x40, 0x6);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw10
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526b_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, D, 0x80, 0x7))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, D, 0x80, 0x7))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526b_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x80, 0x7);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x80, 0x7);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526b_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, D, 0x80, 0x7);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, D, 0x80, 0x7);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw9
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_0526a_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x1, 0x0))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x1, 0x0))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526a_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_0526a_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw8
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05269_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x2, 0x1))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x2, 0x1))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05269_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x2, 0x1);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x2, 0x1);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05269_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x2, 0x1);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x2, 0x1);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw7
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05268_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x4, 0x2))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x4, 0x2))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05268_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x4, 0x2);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x4, 0x2);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05268_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x4, 0x2);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x4, 0x2);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw6
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05267_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x8, 0x3))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x8, 0x3))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05267_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x8, 0x3);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x8, 0x3);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05267_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x8, 0x3);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x8, 0x3);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw5
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05266_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x10, 0x4))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x10, 0x4))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05266_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x10, 0x4);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x10, 0x4);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05266_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x10, 0x4);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x10, 0x4);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw4
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05265_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x20, 0x5))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x20, 0x5))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05265_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x20, 0x5);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x20, 0x5);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05265_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x20, 0x5);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x20, 0x5);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw3
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05264_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, A, 0x40, 0x6))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, A, 0x40, 0x6))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05264_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, A, 0x40, 0x6);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, A, 0x40, 0x6);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05264_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, A, 0x40, 0x6);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, A, 0x40, 0x6);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw2
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05263_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, A, 0x80, 0x7))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, A, 0x80, 0x7))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05263_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, A, 0x80, 0x7);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, A, 0x80, 0x7);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05263_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, A, 0x80, 0x7);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, A, 0x80, 0x7);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05262_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x1, 0x0))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x1, 0x0))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05262_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05262_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw_slide_sub_pcb1
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :ButtonCtrl
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :switch_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Reads the button state as 0 for released or 1 for pressed
       :Performs debounce if required
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_05261_switch_base__ReadState()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;
	MX_UINT8 FCR_RETVAL;


	if (0 != FCP_GET(B, C, 0x1, 0x0))
	{

		FCR_RETVAL = 1;

	} else {

		FCR_RETVAL = 0;

	}

	FCL_DEL_COUNT = 0;
	FCL_OLD_SWITCHVAL = FCR_RETVAL;

	#if (1) // 10 > 0

		while (FCL_DEL_COUNT < 10)
		{

			FCI_DELAYBYTE_MS(1);

			if (0 != FCP_GET(B, C, 0x1, 0x0))
			{

				FCR_RETVAL = 1;

			} else {

				FCR_RETVAL = 0;

			}

			if (FCR_RETVAL == FCL_OLD_SWITCHVAL)
			{

				FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

			} else {

				FCL_DEL_COUNT = 0;

			}

			FCL_OLD_SWITCHVAL = FCR_RETVAL;


		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'high'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05261_switch_base__WaitUntilHigh()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL = (0xff); // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL == 0) == 0) break;
	}

}

/*=----------------------------------------------------------------------=*\
   Use :Waits until the switch is in state 'low'
       :The interpretation of 'high' depends on the polarity
\*=----------------------------------------------------------------------=*/
void FCD_05261_switch_base__WaitUntilLow()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_SWITCHVAL; // The state of the pin
	MX_UINT16 FCL_DEL_COUNT;
	MX_UINT8 FCL_OLD_SWITCHVAL;


	while (1)
	{

		FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

		#if (0) // 0 == 1

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_DEL_COUNT = 0;
		FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;

		#if (1) // 10 > 0

			while (FCL_DEL_COUNT < 10)
			{

				FCI_DELAYBYTE_MS(1);

				FCL_SWITCHVAL = FCP_GET(B, C, 0x1, 0x0);

				#if (0) // 0 == 1

				//Code wurde vom Vorprozessor optimiert
				// #else

				#endif

				if (FCL_SWITCHVAL == FCL_OLD_SWITCHVAL)
				{

					FCL_DEL_COUNT = FCL_DEL_COUNT + 1;

				} else {

					FCL_DEL_COUNT = 0;

				}

				FCL_OLD_SWITCHVAL = FCL_SWITCHVAL;


			}

		// #else

		//Code wurde vom Vorprozessor optimiert
		#endif


		if ((FCL_SWITCHVAL != 0) == 0) break;
	}

}


/*========================================================================*\
   Use :sw_slide_sub_pcb
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :fcdhelper
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :cal_adc
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :adc_base
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC at full bit depth
       :Call Enable() first
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f42_adc_base__RawSampleInt()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FCR_RETVAL = FC_CAL_ADC_Sample(1);

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a byte average sample over time
       :Call Enable() before this
       :
       :Parameter f??r Makro RawAverageByte:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f42_adc_base__RawAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_AVERAGE = (0x0);
	MX_UINT8 FCL_COUNT = (0x0);
	MX_UINT8 FCR_RETVAL;


	if (FCL_DELAYUS > 0)
	{

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(0);
			FCL_COUNT = FCL_COUNT + 1;

			FCI_DELAYBYTE_US(FCL_DELAYUS);


		}

	} else {

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(0);
			FCL_COUNT = FCL_COUNT + 1;


		}

	}

	FCR_RETVAL = FCL_AVERAGE / FCL_COUNT;

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Reads the ADC as a direct voltage and returns as as tring
       :
       :R??ckgaben : MX_CHAR*
\*=----------------------------------------------------------------------=*/
void FCD_08f42_adc_base__GetString(MX_CHAR *FCR_RETVAL, MX_UINT16 FCRsz_RETVAL)
{
	//Lokale Variablen-Definitionen
	MX_FLOAT FCL_SAMPLE;


	FCL_SAMPLE = FCD_08f42_adc_base__GetVoltage();

	FCI_FLOAT_TO_STRING(FCL_SAMPLE, FCV_PRECISION, FCR_RETVAL, FCRsz_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Function call to read the ADC as a byte average sample over time
       :
       :Parameter f??r Makro GetAverageByte:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f42_adc_base__GetAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FC_CAL_ADC_Enable(1, 3, 0, 40);

	FCR_RETVAL = FCD_08f42_adc_base__RawAverageByte(FCL_NUMSAMPLES, FCL_DELAYUS);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a full width average sample over time
       :Call Enable() before this
       :
       :Parameter f??r Makro RawAverageInt:
       :  NumSamples : MX_UINT8
       :  DelayUs : MX_UINT8
       :
       :R??ckgaben : MX_SINT16
\*=----------------------------------------------------------------------=*/
MX_SINT16 FCD_08f42_adc_base__RawAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT32 FCL_AVERAGE = (0x0);
	MX_UINT8 FCL_COUNT = (0x0);
	MX_SINT16 FCR_RETVAL;


	if (FCL_DELAYUS > 0)
	{

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(1);
			FCL_COUNT = FCL_COUNT + 1;

			FCI_DELAYBYTE_US(FCL_DELAYUS);


		}

	} else {

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(1);
			FCL_COUNT = FCL_COUNT + 1;


		}

	}

	FCR_RETVAL = FCL_AVERAGE / FCL_COUNT;

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Function call to read the ADC as a full width average sample over time
       :
       :Parameter f??r Makro GetAverageInt:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f42_adc_base__GetAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FC_CAL_ADC_Enable(1, 3, 0, 40);

	FCR_RETVAL = FCD_08f42_adc_base__RawAverageInt(FCL_NUMSAMPLES, FCL_DELAYUS);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Reads the ADC as a direct voltage
       :
       :R??ckgaben : MX_FLOAT
\*=----------------------------------------------------------------------=*/
MX_FLOAT FCD_08f42_adc_base__GetVoltage()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_SAMPLE;
	MX_FLOAT FCR_RETVAL;


	FC_CAL_ADC_Enable(1, 3, 0, 40);

	FCL_SAMPLE = FC_CAL_ADC_Sample(1);

	FCR_RETVAL = flt_mul(flt_fromi(FCL_SAMPLE), 0.004883);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Enables and configures the ADC channel to be an analogue input.
       :Only one ADC channel can be enabled at a time. Any RAW functions will reference the last enabled channel only.
\*=----------------------------------------------------------------------=*/
void FCD_08f42_adc_base__RawEnable()
{

	FC_CAL_ADC_Enable(1, 3, 0, 40);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a byte
       :Call Enable() before this
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f42_adc_base__RawSampleByte()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FCR_RETVAL = FC_CAL_ADC_Sample(0);

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Blocking call to read the ADC at full bit depth
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f42_adc_base__GetInt()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FC_CAL_ADC_Enable(1, 3, 0, 40);

	FCR_RETVAL = FC_CAL_ADC_Sample(1);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Disables the previously enabled ADC channel and converts back to digital mode.
\*=----------------------------------------------------------------------=*/
void FCD_08f42_adc_base__RawDisable()
{

	FC_CAL_ADC_Disable();

}

/*=----------------------------------------------------------------------=*\
   Use :Blocking call to read the ADC as a byte
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f42_adc_base__GetByte()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FC_CAL_ADC_Enable(1, 3, 0, 40);

	FCR_RETVAL = FC_CAL_ADC_Sample(0);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}


/*========================================================================*\
   Use :knob_ptr_black
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :fcdhelper
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :cal_adc
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :adc_base1
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC at full bit depth
       :Call Enable() first
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f41_adc_base1__RawSampleInt()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FCR_RETVAL = FC_CAL_ADC_Sample(1);

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a byte average sample over time
       :Call Enable() before this
       :
       :Parameter f??r Makro RawAverageByte:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f41_adc_base1__RawAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_AVERAGE = (0x0);
	MX_UINT8 FCL_COUNT = (0x0);
	MX_UINT8 FCR_RETVAL;


	if (FCL_DELAYUS > 0)
	{

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(0);
			FCL_COUNT = FCL_COUNT + 1;

			FCI_DELAYBYTE_US(FCL_DELAYUS);


		}

	} else {

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(0);
			FCL_COUNT = FCL_COUNT + 1;


		}

	}

	FCR_RETVAL = FCL_AVERAGE / FCL_COUNT;

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Reads the ADC as a direct voltage and returns as as tring
       :
       :R??ckgaben : MX_CHAR*
\*=----------------------------------------------------------------------=*/
void FCD_08f41_adc_base1__GetString(MX_CHAR *FCR_RETVAL, MX_UINT16 FCRsz_RETVAL)
{
	//Lokale Variablen-Definitionen
	MX_FLOAT FCL_SAMPLE;


	FCL_SAMPLE = FCD_08f41_adc_base1__GetVoltage();

	FCI_FLOAT_TO_STRING(FCL_SAMPLE, FCV_PRECISION, FCR_RETVAL, FCRsz_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Function call to read the ADC as a byte average sample over time
       :
       :Parameter f??r Makro GetAverageByte:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f41_adc_base1__GetAverageByte(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FC_CAL_ADC_Enable(0, 3, 0, 40);

	FCR_RETVAL = FCD_08f41_adc_base1__RawAverageByte(FCL_NUMSAMPLES, FCL_DELAYUS);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a full width average sample over time
       :Call Enable() before this
       :
       :Parameter f??r Makro RawAverageInt:
       :  NumSamples : MX_UINT8
       :  DelayUs : MX_UINT8
       :
       :R??ckgaben : MX_SINT16
\*=----------------------------------------------------------------------=*/
MX_SINT16 FCD_08f41_adc_base1__RawAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT32 FCL_AVERAGE = (0x0);
	MX_UINT8 FCL_COUNT = (0x0);
	MX_SINT16 FCR_RETVAL;


	if (FCL_DELAYUS > 0)
	{

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(1);
			FCL_COUNT = FCL_COUNT + 1;

			FCI_DELAYBYTE_US(FCL_DELAYUS);


		}

	} else {

		while (FCL_COUNT < FCL_NUMSAMPLES)
		{

			FCL_AVERAGE = FCL_AVERAGE + FC_CAL_ADC_Sample(1);
			FCL_COUNT = FCL_COUNT + 1;


		}

	}

	FCR_RETVAL = FCL_AVERAGE / FCL_COUNT;

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Function call to read the ADC as a full width average sample over time
       :
       :Parameter f??r Makro GetAverageInt:
       :  NumSamples : MX_UINT8
       :  DelayUs : Number of micro seconds in between taking each sample
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f41_adc_base1__GetAverageInt(MX_UINT8 FCL_NUMSAMPLES, MX_UINT8 FCL_DELAYUS)
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FC_CAL_ADC_Enable(0, 3, 0, 40);

	FCR_RETVAL = FCD_08f41_adc_base1__RawAverageInt(FCL_NUMSAMPLES, FCL_DELAYUS);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Reads the ADC as a direct voltage
       :
       :R??ckgaben : MX_FLOAT
\*=----------------------------------------------------------------------=*/
MX_FLOAT FCD_08f41_adc_base1__GetVoltage()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCL_SAMPLE;
	MX_FLOAT FCR_RETVAL;


	FC_CAL_ADC_Enable(0, 3, 0, 40);

	FCL_SAMPLE = FC_CAL_ADC_Sample(1);

	FCR_RETVAL = flt_mul(flt_fromi(FCL_SAMPLE), 0.004883);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Enables and configures the ADC channel to be an analogue input.
       :Only one ADC channel can be enabled at a time. Any RAW functions will reference the last enabled channel only.
\*=----------------------------------------------------------------------=*/
void FCD_08f41_adc_base1__RawEnable()
{

	FC_CAL_ADC_Enable(0, 3, 0, 40);

}

/*=----------------------------------------------------------------------=*\
   Use :Background call to read the ADC as a byte
       :Call Enable() before this
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f41_adc_base1__RawSampleByte()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FCR_RETVAL = FC_CAL_ADC_Sample(0);

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Blocking call to read the ADC at full bit depth
       :
       :R??ckgaben : MX_UINT16
\*=----------------------------------------------------------------------=*/
MX_UINT16 FCD_08f41_adc_base1__GetInt()
{
	//Lokale Variablen-Definitionen
	MX_UINT16 FCR_RETVAL;


	FC_CAL_ADC_Enable(0, 3, 0, 40);

	FCR_RETVAL = FC_CAL_ADC_Sample(1);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}

/*=----------------------------------------------------------------------=*\
   Use :Disables the previously enabled ADC channel and converts back to digital mode.
\*=----------------------------------------------------------------------=*/
void FCD_08f41_adc_base1__RawDisable()
{

	FC_CAL_ADC_Disable();

}

/*=----------------------------------------------------------------------=*\
   Use :Blocking call to read the ADC as a byte
       :
       :R??ckgaben : MX_UINT8
\*=----------------------------------------------------------------------=*/
MX_UINT8 FCD_08f41_adc_base1__GetByte()
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCR_RETVAL;


	FC_CAL_ADC_Enable(0, 3, 0, 40);

	FCR_RETVAL = FC_CAL_ADC_Sample(0);

	FC_CAL_ADC_Disable();

	return (FCR_RETVAL);

}


/*========================================================================*\
   Use :ctrl_lcd
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :LCD
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Clears the entire contents of the display.
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__Clear()
{




	FCD_04071_LCD__RawSend(0x01, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x02, 0);

	FCI_DELAYBYTE_MS(2);

}

/*=----------------------------------------------------------------------=*\
   Use :Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro
       :
       :Parameter f??r Makro PrintString:
       :  Text[20] : Enter the text or variable to print to the LCD
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__PrintString(MX_CHAR *FCL_TEXT, MX_UINT16 FCLsz_TEXT)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_IDX = (0x0);
	MX_UINT8 FCL_COUNT;



	FCL_COUNT = FCI_GETLENGTH(FCL_TEXT, FCLsz_TEXT);

	while (FCL_IDX < FCL_COUNT)
	{

		FCD_04071_LCD__RawSend(FCL_TEXT[FCL_IDX], 0x10);

		FCL_IDX = FCL_IDX + 1;


	}


}

/*=----------------------------------------------------------------------=*\
   Use :Takes the ascii value for a character and prints the character
       :
       :Parameter f??r Makro PrintAscii:
       :  character : Holds an ascii value.
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__PrintAscii(MX_UINT8 FCL_CHARACTER)
{

	FCD_04071_LCD__RawSend(FCL_CHARACTER, 0x10);



}

/*=----------------------------------------------------------------------=*\
   Use :Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767
       :
       :Parameter f??r Makro PrintNumber:
       :  Number : Enter the number or variable to print to the LCD
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__PrintNumber(MX_SINT16 FCL_NUMBER)
{
	//Lokale Variablen-Definitionen
	#define FCLsz_S 10
	MX_CHAR FCL_S[FCLsz_S];


	FCI_TOSTRING(FCL_NUMBER, FCL_S,10);

	FCD_04071_LCD__PrintString(FCL_S, FCLsz_S);

	//Lokale Variablen-Definitionen
	#undef FCLsz_S
}

/*=----------------------------------------------------------------------=*\
   Use :Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory
       :
       :Parameter f??r Makro RAMWrite:
       :  Index : Values 0 to 7
       :  d0 : MX_UINT8
       :  d1 : MX_UINT8
       :  d2 : MX_UINT8
       :  d3 : MX_UINT8
       :  d4 : MX_UINT8
       :  d5 : MX_UINT8
       :  d6 : MX_UINT8
       :  d7 : MX_UINT8
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__RAMWrite(MX_UINT8 FCL_INDEX, MX_UINT8 FCL_D0, MX_UINT8 FCL_D1, MX_UINT8 FCL_D2, MX_UINT8 FCL_D3, MX_UINT8 FCL_D4, MX_UINT8 FCL_D5, MX_UINT8 FCL_D6, MX_UINT8 FCL_D7)
{

	FCD_04071_LCD__RawSend(64 + (FCL_INDEX << 3), 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(FCL_D0, 0x10);

	FCD_04071_LCD__RawSend(FCL_D1, 0x10);

	FCD_04071_LCD__RawSend(FCL_D2, 0x10);

	FCD_04071_LCD__RawSend(FCL_D3, 0x10);

	FCD_04071_LCD__RawSend(FCL_D4, 0x10);

	FCD_04071_LCD__RawSend(FCL_D5, 0x10);

	FCD_04071_LCD__RawSend(FCL_D6, 0x10);

	FCD_04071_LCD__RawSend(FCL_D7, 0x10);

	FCD_04071_LCD__Clear();

}

/*=----------------------------------------------------------------------=*\
   Use :Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.
       :
       :Parameter f??r Makro ClearLine:
       :  Line : The line to clear, zero being the first (top) line of the display
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__ClearLine(MX_UINT8 FCL_LINE)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_X;


	if (FCL_LINE < 2)
	{

		FCD_04071_LCD__Cursor(0, FCL_LINE);

		FCL_X = 0;

		while (FCL_X < 16)
		{


			FCD_04071_LCD__RawSend(' ', 0x10);

			FCL_X = FCL_X + 1;


		}

		FCD_04071_LCD__Cursor(0, FCL_LINE);

	// } else {

	}

}

/*=----------------------------------------------------------------------=*\
   Use :Moves the cursor on the LCD Display
       :
       :Parameter f??r Makro Cursor:
       :  x : Set the cursor position in the X plane, 0 is the left most cell
       :  y : Set the cursor position in the Y plane, 0 is the top most cell
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__Cursor(MX_UINT8 FCL_X, MX_UINT8 FCL_Y)
{



	#if (0) // 2 == 1

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	#if (1) // 2 == 2

		if (FCL_Y == 0)
		{

			FCL_Y = 0x80;

		} else {

			FCL_Y = 0xC0;

		}

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	#if (0) // 2 == 4

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	FCD_04071_LCD__RawSend(FCL_Y + FCL_X, 0);

	FCI_DELAYBYTE_MS(2);

}

/*=----------------------------------------------------------------------=*\
   Use :Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.
       :
       :Parameter f??r Makro Command:
       :  instruction : Send a defined command to the LCD Screen. See datasheet for supported commands.
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__Command(MX_UINT8 FCL_INSTRUCTION)
{

	FCD_04071_LCD__RawSend(FCL_INSTRUCTION, 0);

	FCI_DELAYBYTE_MS(2);

}

/*=----------------------------------------------------------------------=*\
   Use :Will allow you to print a number up to 32-bits with signed or unsigned formatting.
       :Signed = -2147483648 to 2147483647
       :Unsigned = 0 to 4294967295
       :
       :Parameter f??r Makro PrintFormattedNumber:
       :  Number : Enter the number or variable to print to the LCD
       :  Format : 0=Signed, 1=Unsigned
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__PrintFormattedNumber(MX_UINT32 FCL_NUMBER, MX_BOOL FCL_FORMAT)
{
	//Lokale Variablen-Definitionen
	#define FCLsz_S 15
	MX_CHAR FCL_S[FCLsz_S];


	if (FCL_FORMAT == 1)
	{

		FCI_UTOS32(FCL_NUMBER, FCL_S,15);

	} else {

		FCI_ITOS32((MX_SINT32)(FCL_NUMBER), FCL_S,15);

	}

	FCD_04071_LCD__PrintString(FCL_S, FCLsz_S);

	//Lokale Variablen-Definitionen
	#undef FCLsz_S
}

/*=----------------------------------------------------------------------=*\
   Use :Scrolls the display left or right by a number of given positions.
       :
       :Parameter f??r Makro ScrollDisplay:
       :  Position : Holds the number of positions to shift the display
       :  direction : 0 = left, 1 = right
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__ScrollDisplay(MX_UINT8 FCL_POSITION, MX_UINT8 FCL_DIRECTION)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_CMD = (0x0);


	FCL_CMD = 0;

	switch (FCL_DIRECTION)
	{
		case 0:
		{
			FCL_CMD = 0x18;


			break;
		}
		case 'l':
		{
			FCL_CMD = 0x18;


			break;
		}
		case 'L':
		{
			FCL_CMD = 0x18;


			break;
		}
		case 1:
		{
			FCL_CMD = 0x1C;


			break;
		}
		case 'r':
		{
			FCL_CMD = 0x1C;


			break;
		}
		case 'R':
		{
			FCL_CMD = 0x1C;


			break;
		}
		// default:

	}

	if (FCL_CMD != 0 && FCL_POSITION != 0)
	{

		while (FCL_POSITION != 0)
		{

			FCD_04071_LCD__RawSend(FCL_CMD, 0);

			FCL_POSITION = FCL_POSITION - 1;


		}

	// } else {

	}

}

/*=----------------------------------------------------------------------=*\
   Use :Sends data to the LCD display
       :
       :Parameter f??r Makro RawSend:
       :  data : The data byte to send to the LCD
       :  type : A boolean to indicate command type: true to write data, false to write a command
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__RawSend(MX_UINT8 FCL_DATA, MX_BOOL FCL_TYPE)
{
	//Lokale Variablen-Definitionen
	MX_UINT8 FCL_NIBBLE;


	//Kommentar:
	//Output upper nibble of the byte

	#if (1) // 0 == 0

		FCP_SET(B, D, 0x1, 0x0, 0);
		FCP_SET(B, D, 0x2, 0x1, 0);
		FCP_SET(B, D, 0x4, 0x2, 0);
		FCP_SET(B, D, 0x8, 0x3, 0);
		FCP_SET(B, D, 0x10, 0x4, 0);
		FCP_SET(B, D, 0x20, 0x5, 0);

		#if (0)

		//Code wurde vom Vorprozessor optimiert
		// #else

		#endif

		FCL_NIBBLE = (FCL_DATA >> 4);
		FCP_SET(B, D, 0x1, 0x0, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x2, 0x1, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x4, 0x2, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x8, 0x3, (FCL_NIBBLE & 0x01));

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	//Kommentar:
	//Output byte to pins

	#if (0) // 0 == 1

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	//Kommentar:
	//Output byte to port

	#if (0) // 0 == 2

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	if (FCL_TYPE)
	{

		FCP_SET(B, D, 0x10, 0x4, 1);

	// } else {

	}

	FCI_DELAYBYTE_US(100);

	//Kommentar:
	//Set Enable high, pause then set low
	//to acknowledge the data has been 
	//submitted.

	FCP_SET(B, D, 0x20, 0x5, 1);

	FCI_DELAYBYTE_US(100);

	FCP_SET(B, D, 0x20, 0x5, 0);

	FCI_DELAYBYTE_US(100);

	#if (1) // 0 == 0

		FCP_SET(B, D, 0x1, 0x0, 0);
		FCP_SET(B, D, 0x2, 0x1, 0);
		FCP_SET(B, D, 0x4, 0x2, 0);
		FCP_SET(B, D, 0x8, 0x3, 0);
		FCP_SET(B, D, 0x10, 0x4, 0);

		FCL_NIBBLE = (FCL_DATA & 0xf);
		FCP_SET(B, D, 0x1, 0x0, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x2, 0x1, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x4, 0x2, (FCL_NIBBLE & 0x01));
		FCL_NIBBLE = FCL_NIBBLE >> 1;
		FCP_SET(B, D, 0x8, 0x3, (FCL_NIBBLE & 0x01));

		if (FCL_TYPE)
		{

			FCP_SET(B, D, 0x10, 0x4, 1);

		// } else {

		}

		FCI_DELAYBYTE_US(100);

		FCP_SET(B, D, 0x20, 0x5, 1);

		FCI_DELAYBYTE_US(100);

		FCP_SET(B, D, 0x20, 0x5, 0);

		FCI_DELAYBYTE_US(100);

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

}

/*=----------------------------------------------------------------------=*\
   Use :Startup routine required by the hardware device.
       :Automatically clears the display after initialising.
\*=----------------------------------------------------------------------=*/
void FCD_04071_LCD__Start()
{



	#if (1) // 0 == 0

		FCP_SET(B, D, 0x1, 0x0, 0);
		FCP_SET(B, D, 0x2, 0x1, 0);
		FCP_SET(B, D, 0x4, 0x2, 0);
		FCP_SET(B, D, 0x8, 0x3, 0);
		FCP_SET(B, D, 0x10, 0x4, 0);
		FCP_SET(B, D, 0x20, 0x5, 0);

	// #else

	//Code wurde vom Vorprozessor optimiert
	#endif

	#if (0) // 0 == 1

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	#if (0) // 0 == 2

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	#if (0)

	//Code wurde vom Vorprozessor optimiert
	// #else

	#endif

	FCI_DELAYBYTE_MS(12);

	FCD_04071_LCD__RawSend(0x33, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x33, 0);

	FCI_DELAYBYTE_MS(2);

	#if (0) // 0 > 0

	//Code wurde vom Vorprozessor optimiert
	#else

		FCD_04071_LCD__RawSend(0x32, 0);

		FCI_DELAYBYTE_MS(2);

		FCD_04071_LCD__RawSend(0x2c, 0);

	#endif

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x06, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x0c, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x01, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__RawSend(0x02, 0);

	FCI_DELAYBYTE_MS(2);

	FCD_04071_LCD__Clear();

}


/*========================================================================*\
   Use :lut
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :led_7seg_quad
       :Makro-Implementierungen
\*========================================================================*/
/*=----------------------------------------------------------------------=*\
   Use :Set the number and decimal point to be displayed in the given digit of the display.
       :
       :Parameter f??r Makro ShowDigit:
       :  Digit : Which of the four digits to change. (0...3)
       :  Value : The number value to set the digit to (0...15), 16=Clear
       :  DecimalPoint : Whether to show the decimal point for the chosen digit.
\*=----------------------------------------------------------------------=*/
void FCD_0fca1_led_7seg_quad__ShowDigit(MX_UINT8 FCL_DIGIT, MX_UINT8 FCL_VALUE, MX_UINT8 FCL_DECIMALPOINT)
{

	//Kommentar:
	//Configure the segments first.

	if (FCL_VALUE < 16)
	{

		FCL_VALUE = FCD_00fb1_lut__INTLIST(FCL_VALUE);

		FCP_SET(B, D, 0x1, 0x0, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x2, 0x1, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x4, 0x2, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x8, 0x3, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x10, 0x4, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x20, 0x5, 0 == (FCL_VALUE & 1));
		FCL_VALUE = FCL_VALUE >> 1;
		FCP_SET(B, D, 0x40, 0x6, 0 == (FCL_VALUE & 1));

		FCP_SET(B, D, 0x80, 0x7, 0 == (FCL_DECIMALPOINT & 1));

	} else {

		if (FCL_VALUE == 16)
		{

			FCP_SET(B, D, 0x1, 0x0, 0 == 0);
			FCP_SET(B, D, 0x2, 0x1, 0 == 0);
			FCP_SET(B, D, 0x4, 0x2, 0 == 0);
			FCP_SET(B, D, 0x8, 0x3, 0 == 0);
			FCP_SET(B, D, 0x10, 0x4, 0 == 0);
			FCP_SET(B, D, 0x20, 0x5, 0 == 0);
			FCP_SET(B, D, 0x40, 0x6, 0 == 0);

		// } else {

		}

	}

	switch (FCL_DIGIT)
	{
		case 1:
		{
			FCP_SET(B, C, 0x1, 0x0, 0);
			FCP_SET(B, C, 0x4, 0x2, 0);
			FCP_SET(B, C, 0x8, 0x3, 0);
			FCP_SET(B, C, 0x2, 0x1, 1 - 0);

			break;
		}
		case 2:
		{
			FCP_SET(B, C, 0x1, 0x0, 0);
			FCP_SET(B, C, 0x2, 0x1, 0);
			FCP_SET(B, C, 0x8, 0x3, 0);
			FCP_SET(B, C, 0x4, 0x2, 1 - 0);

			break;
		}
		case 3:
		{
			FCP_SET(B, C, 0x1, 0x0, 0);
			FCP_SET(B, C, 0x2, 0x1, 0);
			FCP_SET(B, C, 0x4, 0x2, 0);
			FCP_SET(B, C, 0x8, 0x3, 1 - 0);

			break;
		}
		default:
		{
			FCP_SET(B, C, 0x2, 0x1, 0);
			FCP_SET(B, C, 0x4, 0x2, 0);
			FCP_SET(B, C, 0x8, 0x3, 0);
			FCP_SET(B, C, 0x1, 0x0, 1 - 0);

		}
	}

}


/*========================================================================*\
   Use :bezel_radiused
       :Makro-Implementierungen
\*========================================================================*/

/*========================================================================*\
   Use :panel
       :Makro-Implementierungen
\*========================================================================*/


/*========================================================================*\
   Use :Main
\*========================================================================*/
int main()
{
	MCUSR=0x00;


	mainendloop: goto mainendloop;
}



/*========================================================================*\
   Use :Unterbrechung
\*========================================================================*/




