Here is the full Visuino code, with the embedded RemoteXY code
//----------------------------------------------
//
// Sketch Generated by Visuino
// www.visuino.com
//
//------------------ Source --------------------
//
// BLE Control PAN-TILT_Rev001.visuino
//
//----------------------------------------------
#define VISUINO_ESP32
#include <OpenWire.h>
#include <Mitov.h>
#include <Arduino.h>
#include <Mitov_ESP32.h>
#include <Mitov_ESP32_BLE.h>
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <Mitov_ESP32_BLE_Server.h>
#include <Mitov_BluetoothLE_Uart_Service.h>
#include <Mitov_StandardSerial.h>
#include <Mitov_Stepper.h>
#include <Mitov_Packet.h>
#include <Mitov_RemoteXY.h>
#include <Mitov_LogicGates.h>
// Shared Component Member Variables
namespace ComponentVariables
{
class
{
public:
bool Value1 : 1;
bool Value2 : 1;
uint32_t Value3 : 4;
bool Value4 : 1;
bool Value5 : 1;
bool Value6 : 1;
bool Value7 : 1;
bool Value8 : 1;
bool Value9 : 1;
bool Value10 : 1;
bool Value11 : 1;
bool Value12 : 1;
bool Value13 : 1;
bool Value14 : 1;
bool Value15 : 1;
bool Value16 : 1;
bool Value17 : 1;
bool Value18 : 1;
uint32_t Value19 : 4;
int32_t Value20 : 1;
bool Value21 : 1;
bool Value22 : 1;
bool Value23 : 1;
bool Value24 : 1;
bool Value25 : 1;
bool Value26 : 1;
bool Value27 : 1;
bool Value28 : 1;
} BitFields;
class Variable1
{
public:
inline static bool GetValue() { return BitFields.Value1; }
inline static void SetValue( bool AValue ) { BitFields.Value1 = AValue; }
};
class Variable2
{
public:
inline static bool GetValue() { return BitFields.Value2; }
inline static void SetValue( bool AValue ) { BitFields.Value2 = AValue; }
};
class Variable3
{
public:
inline static uint32_t GetValue() { return BitFields.Value3; }
inline static void SetValue( uint32_t AValue ) { BitFields.Value3 = AValue; }
};
class Variable4
{
public:
inline static bool GetValue() { return BitFields.Value4; }
inline static void SetValue( bool AValue ) { BitFields.Value4 = AValue; }
};
class Variable5
{
public:
inline static bool GetValue() { return BitFields.Value5; }
inline static void SetValue( bool AValue ) { BitFields.Value5 = AValue; }
};
class Variable6
{
public:
inline static bool GetValue() { return BitFields.Value6; }
inline static void SetValue( bool AValue ) { BitFields.Value6 = AValue; }
};
class Variable7
{
public:
inline static bool GetValue() { return BitFields.Value7; }
inline static void SetValue( bool AValue ) { BitFields.Value7 = AValue; }
};
class Variable8
{
public:
inline static bool GetValue() { return BitFields.Value8; }
inline static void SetValue( bool AValue ) { BitFields.Value8 = AValue; }
};
class Variable9
{
public:
inline static bool GetValue() { return BitFields.Value9; }
inline static void SetValue( bool AValue ) { BitFields.Value9 = AValue; }
};
class Variable10
{
public:
inline static bool GetValue() { return BitFields.Value10; }
inline static void SetValue( bool AValue ) { BitFields.Value10 = AValue; }
};
class Variable11
{
public:
inline static bool GetValue() { return BitFields.Value11; }
inline static void SetValue( bool AValue ) { BitFields.Value11 = AValue; }
};
class Variable12
{
public:
inline static bool GetValue() { return BitFields.Value12; }
inline static void SetValue( bool AValue ) { BitFields.Value12 = AValue; }
};
class Variable13
{
public:
inline static bool GetValue() { return BitFields.Value13; }
inline static void SetValue( bool AValue ) { BitFields.Value13 = AValue; }
};
class Variable14
{
public:
inline static bool GetValue() { return BitFields.Value14; }
inline static void SetValue( bool AValue ) { BitFields.Value14 = AValue; }
};
class Variable15
{
public:
inline static bool GetValue() { return BitFields.Value15; }
inline static void SetValue( bool AValue ) { BitFields.Value15 = AValue; }
};
class Variable16
{
public:
inline static bool GetValue() { return BitFields.Value16; }
inline static void SetValue( bool AValue ) { BitFields.Value16 = AValue; }
};
class Variable17
{
public:
inline static bool GetValue() { return BitFields.Value17; }
inline static void SetValue( bool AValue ) { BitFields.Value17 = AValue; }
};
class Variable18
{
public:
inline static bool GetValue() { return BitFields.Value18; }
inline static void SetValue( bool AValue ) { BitFields.Value18 = AValue; }
};
class Variable19
{
public:
inline static uint32_t GetValue() { return BitFields.Value19; }
inline static void SetValue( uint32_t AValue ) { BitFields.Value19 = AValue; }
};
class Variable20
{
public:
inline static int32_t GetValue() { return BitFields.Value20; }
inline static void SetValue( int32_t AValue ) { BitFields.Value20 = AValue; }
};
class Variable21
{
public:
inline static bool GetValue() { return BitFields.Value21; }
inline static void SetValue( bool AValue ) { BitFields.Value21 = AValue; }
};
class Variable22
{
public:
inline static bool GetValue() { return BitFields.Value22; }
inline static void SetValue( bool AValue ) { BitFields.Value22 = AValue; }
};
class Variable23
{
public:
inline static bool GetValue() { return BitFields.Value23; }
inline static void SetValue( bool AValue ) { BitFields.Value23 = AValue; }
};
class Variable24
{
public:
inline static bool GetValue() { return BitFields.Value24; }
inline static void SetValue( bool AValue ) { BitFields.Value24 = AValue; }
};
class Variable25
{
public:
inline static bool GetValue() { return BitFields.Value25; }
inline static void SetValue( bool AValue ) { BitFields.Value25 = AValue; }
};
class Variable26
{
public:
inline static bool GetValue() { return BitFields.Value26; }
inline static void SetValue( bool AValue ) { BitFields.Value26 = AValue; }
};
class Variable27
{
public:
inline static bool GetValue() { return BitFields.Value27; }
inline static void SetValue( bool AValue ) { BitFields.Value27 = AValue; }
};
class Variable28
{
public:
inline static bool GetValue() { return BitFields.Value28; }
inline static void SetValue( bool AValue ) { BitFields.Value28 = AValue; }
};
} // ComponentVariables
// Arduino Constant Declarations
namespace VisuinoConstants
{
class FloatValue0
{
public:
inline static constexpr float GetValue() { return 80; }
};
class FloatValue1
{
public:
inline static constexpr float GetValue() { return 250; }
};
class TextValue1
{
public:
inline static constexpr const char *GetValue() { return ""; }
};
class TextValue0
{
public:
inline static constexpr const char *GetValue() { return "GARAGE1"; }
};
} // VisuinoConstants
// Pin Call Declarations
namespace PinCalls
{
class PinCallerReceive0
{
public:
void Notify( void *_Data );
};
class PinCallerReceive1
{
public:
void Notify( void *_Data );
};
class PinCallerReceive2
{
public:
void Notify( void *_Data );
};
class PinCallerReceive3
{
public:
void Notify( void *_Data );
};
class PinCallerReceive4
{
public:
void Notify( void *_Data );
};
class PinCallerReceive5
{
public:
void Notify( void *_Data );
};
class PinCallerReceive6
{
public:
void Notify( void *_Data );
};
class PinCallerReceive7
{
public:
void Notify( void *_Data );
};
class PinCallerReceive8
{
public:
void Notify( void *_Data );
};
class PinCallerReceive9
{
public:
void Notify( void *_Data );
};
} // PinCalls
// Call Chains
namespace CallChains
{
class CheckPopulated1
{
public:
inline static uint32_t Count() { return 5; }
static void Call( bool & AIsPopulated );
};
class GetData1
{
public:
inline static uint32_t Count() { return 5; }
static void Call( uint8_t *& ADataStart, uint32_t & ADataIndex, uint8_t & AOffset );
};
class GetSize1
{
public:
inline static uint32_t Count() { return 5; }
static void Call( int32_t AIndex, bool & AAlligned, int & AResult );
};
class Expand1
{
public:
inline static uint32_t Count() { return 5; }
static void Call( int32_t AIndex, uint8_t * const & AInBuffer, uint8_t * const & AOutBuffer, int & ASize, bool & AResult );
};
class GetValue1
{
public:
inline static uint32_t Count() { return 0; }
static void Call( int32_t AIndex, uint8_t & AValue );
};
class ApplyValues1
{
public:
inline static uint32_t Count() { return 0; }
static void Call( uint8_t * AValue );
};
} // CallChains
// Arduino Board Declarations
namespace BoardDeclarations
{
namespace Types
{
typedef Mitov::SerialPort<
SERIAL_TYPE, // 0_T_TYPE
Serial, // 1_C_TYPE
Mitov::ConstantProperty<4, uint32_t, 0 >, // AfterSendingDelay
Mitov::ConstantProperty<7, uint32_t, 8 >, // DataBits
Mitov::ConstantProperty<3, bool, true >, // Enabled
Mitov::ConstantProperty<51, uint32_t, 0>, // FEndTime
Mitov::ConstantProperty<50, bool, false>, // FSending
Mitov::GenericPin_NoImplementation<5 >, // OutputPin
Mitov::ConstantProperty<9, Mitov::TArduinoStandardSerialParity, Mitov::spNone >, // Parity
Mitov::DigitalPin_NoImplementation<2 >, // SendingOutputPin
Mitov::ConstantProperty<6, uint32_t, 9600 >, // Speed
Mitov::ConstantProperty<8, uint32_t, 1 > // StopBits
> SerialPort0;
} // Types
namespace Instances
{
Types::SerialPort0 SerialPort0;
} // Instances
namespace Types
{
typedef Mitov::ArduinoSerialInput_Binary<Types::SerialPort0, Instances::SerialPort0, Mitov::TArray<uint8_t>> SerialPort0_Input_IOWByteStream_1;
} // Types
namespace Instances
{
Types::SerialPort0_Input_IOWByteStream_1 SerialPort0_Input_IOWByteStream_1;
} // Instances
namespace Types
{
typedef Mitov::ArduinoDigitalChannel<
Mitov::ConstantProperty<51, bool, false>, // InitialValue
Mitov::ConstantProperty<22, bool, false>, // IsAnalog
Mitov::ConstantProperty<24, bool, true>, // IsCombinedInOut
Mitov::ConstantProperty<21, bool, false>, // IsOpenDrain
Mitov::ConstantProperty<25, bool, true>, // IsOutput
Mitov::ConstantProperty<10, bool, false >, // IsPullDown
Mitov::ConstantProperty<5, bool, false >, // IsPullUp
Mitov::ConstantProperty<23, bool, false>, // IsRawInput
Mitov::DigitalPin_EmbeddedPinImplementation<6, ::PinCalls::PinCallerReceive0 >, // OutputPin
14 // PIN
> ArduinoDigitalChannel_14;
} // Types
namespace Instances
{
Types::ArduinoDigitalChannel_14 ArduinoDigitalChannel_14;
} // Instances
namespace Types
{
typedef Mitov::DigitalInput<
Mitov::ConstantProperty<10, bool, false >, // IsPullDown
Mitov::ConstantProperty<5, bool, false >, // IsPullUp
Mitov::DigitalPin_EmbeddedPinImplementation<6, ::PinCalls::PinCallerReceive0 >, // OutputPin
14 // PIN
> ArduinoAnalogInputChannel_AsDigital_14;
} // Types
namespace Instances
{
Types::ArduinoAnalogInputChannel_AsDigital_14 ArduinoAnalogInputChannel_AsDigital_14;
} // Instances
namespace Types
{
typedef Mitov::ESP32BluetoothLE<
Mitov::TypedPin_NoImplementation<2, int32_t >, // ConnectedCountOutputPin
Mitov::ConstantPropertyString<3, ::VisuinoConstants::TextValue0 >, // DeviceName
Mitov::TextPin_NoImplementation<1 >, // MACAddressOutputPin
Mitov::ConstantProperty<4, uint32_t, 460 >, // MaximumTransmissionUnit
Mitov::ConstantProperty<6, Mitov::TArduinoESP32BluetoothLESecurity::TArduinoESP32BluetoothLESecurity, Mitov::TArduinoESP32BluetoothLESecurity::Default >, // Security
Mitov::ESP32ServerImp, // Server
Mitov::ConstantProperty<5, uint32_t, 5 > // TransmitPower
> TArduinoESP32BluetoothLEModule1;
} // Types
namespace Instances
{
Types::TArduinoESP32BluetoothLEModule1 TArduinoESP32BluetoothLEModule1;
} // Instances
namespace Types
{
typedef Mitov::ESP32BluetoothLEServer<
BoardDeclarations::Types::TArduinoESP32BluetoothLEModule1, // 0_TYPE_OWNER
BoardDeclarations::Instances::TArduinoESP32BluetoothLEModule1, // 1_NAME_OWNER
Mitov::ConstantProperty<1, bool, true > // Enabled
> TArduinoESP32BluetoothLEServer1;
} // Types
namespace Instances
{
Types::TArduinoESP32BluetoothLEServer1 TArduinoESP32BluetoothLEServer1;
} // Instances
} // BoardDeclarations
// Declarations
namespace Declarations
{
namespace Types
{
typedef Mitov::ArduinoBluetoothLEUartService<
BoardDeclarations::Types::TArduinoESP32BluetoothLEServer1, // 0_TYPE_OWNER
BoardDeclarations::Instances::TArduinoESP32BluetoothLEServer1, // 1_NAME_OWNER
Mitov::ArduinoBluetoothLEUartServiceImpl_HC08, // BASE
Mitov::ConstantProperty<5, uint32_t, 200 >, // BufferSize
Mitov::ConstantProperty<1, bool, true >, // Enabled
Mitov::GenericPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive1 > // OutputPin
> TArduinoBluetoothUartService1;
} // Types
namespace Instances
{
Types::TArduinoBluetoothUartService1 TArduinoBluetoothUartService1;
} // Instances
namespace Types
{
typedef Mitov::StepperMotor4Wire<
Mitov::TypedVariableValue<9, bool, ::ComponentVariables::Variable1, false >, // Enabled
Mitov::TypedVariable<13, uint32_t, ::ComponentVariables::Variable3 >, // FStep
Mitov::ConstantProperty<12, bool, false >, // HalfStep
Mitov::DigitalPin_DirectBoardPinImplementation<5 >, // OutputPins_0
Mitov::DigitalPin_DirectBoardPinImplementation<18 >, // OutputPins_1
Mitov::DigitalPin_DirectBoardPinImplementation<19 >, // OutputPins_2
Mitov::DigitalPin_DirectBoardPinImplementation<21 >, // OutputPins_3
Mitov::TypedVariableValue<10, bool, ::ComponentVariables::Variable2, false >, // Reversed
Mitov::StepperMotorSpeed, // Speed_Implementation
Mitov::ConstantPropertyFloat<11, float, ::VisuinoConstants::FloatValue0 > // StepsPerSecond
> TILT;
} // Types
namespace Instances
{
Types::TILT TILT;
} // Instances
namespace Types
{
typedef Mitov::Packet<
5, // COUNT_Elements
Mitov::NestedProperty<12, Mitov::PacketChecksumElement<
Mitov::ConstantProperty<11, bool, true > // Enabled
> >, // Checksum
Mitov::EmbeddedCallChain<CallChains::CheckPopulated1 >, // Elements_CheckPopulated
Mitov::EmbeddedCallChain<CallChains::Expand1 >, // Elements_Expand
Mitov::EmbeddedCallChain<CallChains::GetData1 >, // Elements_GetData
Mitov::EmbeddedCallChain<CallChains::GetSize1 >, // Elements_GetSize
Mitov::TypedVariable<15, bool, ::ComponentVariables::Variable5 >, // FModified
Mitov::TypedVariable<13, bool, ::ComponentVariables::Variable4 >, // FNeedsNewSize
Mitov::TypedVariable<17, bool, ::ComponentVariables::Variable6 >, // FRefreshed
Mitov::NestedProperty<9, Mitov::TArduinoHeadMarkerBinaryPacketElement<
Mitov::NullPropertyArray<8, uint8_t, uint8_t >, // Bytes
Mitov::EmbeddedCallChain<CallChains::ApplyValues1 >, // Bytes_ApplyValues
Mitov::EmbeddedCallChain<CallChains::GetValue1 > // Bytes_GetValue
> >, // HeadMarker
Mitov::ConstantProperty<5, bool, false >, // OnlyModified
Mitov::TypedPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive2, Mitov::TArray<uint8_t> > // OutputPin
> Packet1;
} // Types
namespace Instances
{
Types::Packet1 Packet1;
} // Instances
namespace Types
{
typedef Mitov::PacketDigitalBinaryElement<
Declarations::Types::Packet1, // 0_TYPE_OWNER
Declarations::Instances::Packet1, // 1_NAME_OWNER
Mitov::TypedVariable<5, bool, ::ComponentVariables::Variable8 >, // FBoolValue
Mitov::TypedVariable<3, bool, ::ComponentVariables::Variable7 > // FPopulated
> TArduinoDigitalBinaryPacketElement1;
} // Types
namespace Instances
{
Types::TArduinoDigitalBinaryPacketElement1 TArduinoDigitalBinaryPacketElement1 = Types::TArduinoDigitalBinaryPacketElement1( false );
} // Instances
namespace Types
{
typedef Mitov::PacketDigitalBinaryElement<
Declarations::Types::Packet1, // 0_TYPE_OWNER
Declarations::Instances::Packet1, // 1_NAME_OWNER
Mitov::TypedVariable<5, bool, ::ComponentVariables::Variable10 >, // FBoolValue
Mitov::TypedVariable<3, bool, ::ComponentVariables::Variable9 > // FPopulated
> TArduinoDigitalBinaryPacketElement2;
} // Types
namespace Instances
{
Types::TArduinoDigitalBinaryPacketElement2 TArduinoDigitalBinaryPacketElement2 = Types::TArduinoDigitalBinaryPacketElement2( false );
} // Instances
namespace Types
{
typedef Mitov::PacketDigitalBinaryElement<
Declarations::Types::Packet1, // 0_TYPE_OWNER
Declarations::Instances::Packet1, // 1_NAME_OWNER
Mitov::TypedVariable<5, bool, ::ComponentVariables::Variable12 >, // FBoolValue
Mitov::TypedVariable<3, bool, ::ComponentVariables::Variable11 > // FPopulated
> TArduinoDigitalBinaryPacketElement3;
} // Types
namespace Instances
{
Types::TArduinoDigitalBinaryPacketElement3 TArduinoDigitalBinaryPacketElement3 = Types::TArduinoDigitalBinaryPacketElement3( false );
} // Instances
namespace Types
{
typedef Mitov::PacketDigitalBinaryElement<
Declarations::Types::Packet1, // 0_TYPE_OWNER
Declarations::Instances::Packet1, // 1_NAME_OWNER
Mitov::TypedVariable<5, bool, ::ComponentVariables::Variable14 >, // FBoolValue
Mitov::TypedVariable<3, bool, ::ComponentVariables::Variable13 > // FPopulated
> TArduinoDigitalBinaryPacketElement4;
} // Types
namespace Instances
{
Types::TArduinoDigitalBinaryPacketElement4 TArduinoDigitalBinaryPacketElement4 = Types::TArduinoDigitalBinaryPacketElement4( false );
} // Instances
namespace Types
{
typedef Mitov::PacketDigitalBinaryElement<
Declarations::Types::Packet1, // 0_TYPE_OWNER
Declarations::Instances::Packet1, // 1_NAME_OWNER
Mitov::TypedVariable<5, bool, ::ComponentVariables::Variable16 >, // FBoolValue
Mitov::TypedVariable<3, bool, ::ComponentVariables::Variable15 > // FPopulated
> TArduinoDigitalBinaryPacketElement5;
} // Types
namespace Instances
{
Types::TArduinoDigitalBinaryPacketElement5 TArduinoDigitalBinaryPacketElement5 = Types::TArduinoDigitalBinaryPacketElement5( false );
} // Instances
namespace Types
{
typedef Mitov::StepperMotor4Wire<
Mitov::TypedVariableValue<9, bool, ::ComponentVariables::Variable17, false >, // Enabled
Mitov::TypedVariable<13, uint32_t, ::ComponentVariables::Variable19 >, // FStep
Mitov::ConstantProperty<12, bool, false >, // HalfStep
Mitov::DigitalPin_DirectBoardPinImplementation<26 >, // OutputPins_0
Mitov::DigitalPin_DirectBoardPinImplementation<25 >, // OutputPins_1
Mitov::DigitalPin_DirectBoardPinImplementation<33 >, // OutputPins_2
Mitov::DigitalPin_DirectBoardPinImplementation<32 >, // OutputPins_3
Mitov::TypedVariableValue<10, bool, ::ComponentVariables::Variable18, false >, // Reversed
Mitov::StepperMotorSpeed, // Speed_Implementation
Mitov::ConstantPropertyFloat<11, float, ::VisuinoConstants::FloatValue1 > // StepsPerSecond
> PAN;
} // Types
namespace Instances
{
Types::PAN PAN;
} // Instances
namespace RemoteXY_Declarations
{
namespace _o_RemoteXY1
{
#pragma pack(push, 1)
// RemoteXY configurate
static uint8_t const PROGMEM Config[] =
{
15, 25, 1, 1, 0, 23, 64, 19, 19, 2, 31, 68, 87, 78, 0, 1, 0, 23, 19, 19, 19, 2, 31, 85, 80, 0, 1, 0, 1, 40, 19, 19, 2, 31, 76, 69, 70, 84, 0, 1, 0, 43, 40, 19, 19, 2, 31, 82, 73, 71, 72, 84, 0
};
// this structure defines all the variables of your control interface
struct
{
// input variable
uint8_t switch_0; // =1 if switch ON and =0 if OFF
uint8_t switch_1; // =1 if switch ON and =0 if OFF
uint8_t switch_2; // =1 if switch ON and =0 if OFF
uint8_t switch_3; // =1 if switch ON and =0 if OFF
// output variable
}
RemoteXY;
#pragma pack(pop)
class Access
{
public:
inline static uint8_t *GetConfig()
{
return (uint8_t*)Config;
}
inline static uint8_t *GetData()
{
return (uint8_t*)&RemoteXY;
}
};
} // _o_RemoteXY1
} // RemoteXY_Declarations
namespace Types
{
typedef Mitov::MitovRemoteXY<
::Declarations::RemoteXY_Declarations::_o_RemoteXY1::Access, // 0_ACCESS
53, // C_CONFIG_LENGTH
53, // C_CONFIG_VERSION
4, // C_INPUT_LENGTH
0, // C_OUTPUT_LENGTH
Mitov::TypedVariable<32, int32_t, ::ComponentVariables::Variable20> // FProtocolConnectedFlags
> RemoteXY1;
} // Types
namespace Instances
{
Types::RemoteXY1 RemoteXY1;
} // Instances
namespace Types
{
typedef Mitov::MitovRemoteXYDigitalOutput<
Declarations::Types::RemoteXY1, // 0_TYPE_OWNER
Declarations::Instances::RemoteXY1, // 1_NAME_OWNER
Mitov::ConstantProperty<4, bool, false >, // InitialValue
Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive3 >, // OutputPin
Mitov::ConstantProperty<2, bool, true > // UseInitialValueOnDisconnect
> TArduinoRemoteXYButtonElement1;
} // Types
namespace Instances
{
Types::TArduinoRemoteXYButtonElement1 TArduinoRemoteXYButtonElement1;
} // Instances
namespace Types
{
typedef Mitov::MitovRemoteXYDigitalOutput<
Declarations::Types::RemoteXY1, // 0_TYPE_OWNER
Declarations::Instances::RemoteXY1, // 1_NAME_OWNER
Mitov::ConstantProperty<4, bool, false >, // InitialValue
Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive4 >, // OutputPin
Mitov::ConstantProperty<2, bool, true > // UseInitialValueOnDisconnect
> TArduinoRemoteXYButtonElement2;
} // Types
namespace Instances
{
Types::TArduinoRemoteXYButtonElement2 TArduinoRemoteXYButtonElement2;
} // Instances
namespace Types
{
typedef Mitov::MitovRemoteXYDigitalOutput<
Declarations::Types::RemoteXY1, // 0_TYPE_OWNER
Declarations::Instances::RemoteXY1, // 1_NAME_OWNER
Mitov::ConstantProperty<4, bool, false >, // InitialValue
Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive5 >, // OutputPin
Mitov::ConstantProperty<2, bool, true > // UseInitialValueOnDisconnect
> TArduinoRemoteXYButtonElement3;
} // Types
namespace Instances
{
Types::TArduinoRemoteXYButtonElement3 TArduinoRemoteXYButtonElement3;
} // Instances
namespace Types
{
typedef Mitov::MitovRemoteXYDigitalOutput<
Declarations::Types::RemoteXY1, // 0_TYPE_OWNER
Declarations::Instances::RemoteXY1, // 1_NAME_OWNER
Mitov::ConstantProperty<4, bool, false >, // InitialValue
Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive6 >, // OutputPin
Mitov::ConstantProperty<2, bool, true > // UseInitialValueOnDisconnect
> TArduinoRemoteXYButtonElement4;
} // Types
namespace Instances
{
Types::TArduinoRemoteXYButtonElement4 TArduinoRemoteXYButtonElement4;
} // Instances
namespace Types
{
typedef Mitov::MitovRemoteXYProtpcol<
Mitov::RemoteXY_Serial<
Declarations::Types::TArduinoBluetoothUartService1, // 0_SERIAL_TYPE_PIN
Declarations::Instances::TArduinoBluetoothUartService1 // 1_SERIAL_NAME_PIN
>, // 0_INTERFACE
Declarations::Types::RemoteXY1, // 0_TYPE_OWNER
Declarations::Instances::RemoteXY1, // 1_NAME_OWNER
Mitov::DigitalPin_NoImplementation<2 >, // ConnectedOutputPin
0, // INDEX
Mitov::ConstantPropertyString<3, ::VisuinoConstants::TextValue1 > // Password
> TArduinoRemoteXYProtocolSerial1;
} // Types
namespace Instances
{
Types::TArduinoRemoteXYProtocolSerial1 TArduinoRemoteXYProtocolSerial1;
} // Instances
namespace Types
{
typedef Mitov::BooleanOperation<
Mitov::BooleanOr, // BASE
2, // COUNT_InputPins
Mitov::TypedVariable<7, bool, ::ComponentVariables::Variable22 >, // FModified
Mitov::DigitalPin_EmbeddedPinImplementation_ChangeOnly<3, ::PinCalls::PinCallerReceive7, Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable21 > > // OutputPin
> Or1;
} // Types
namespace Instances
{
Types::Or1 Or1;
} // Instances
namespace Types
{
typedef Mitov::BooleanOperation<
Mitov::BooleanOr, // BASE
2, // COUNT_InputPins
Mitov::TypedVariable<7, bool, ::ComponentVariables::Variable24 >, // FModified
Mitov::DigitalPin_EmbeddedPinImplementation_ChangeOnly<3, ::PinCalls::PinCallerReceive8, Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable23 > > // OutputPin
> Or2;
} // Types
namespace Instances
{
Types::Or2 Or2;
} // Instances
namespace Types
{
typedef Mitov::BooleanOperation<
Mitov::BooleanOr, // BASE
4, // COUNT_InputPins
Mitov::TypedVariable<9, bool, ::ComponentVariables::Variable26 >, // FModified
Mitov::DigitalPin_EmbeddedPinImplementation_ChangeOnly<3, ::PinCalls::PinCallerReceive9, Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable25 > > // OutputPin
> Or3;
} // Types
namespace Instances
{
Types::Or3 Or3;
} // Instances
} // Declarations
// Type Converters
namespace TypeConverters
{
Mitov::Convert_BinaryToClock<Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable27 >> Converter0;
Mitov::Convert_BinaryToClock<Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable28 >> Converter1;
} // TypeConverters
// Call Chains
namespace CallChains
{
void CheckPopulated1::Call( bool & AIsPopulated )
{
Declarations::Instances::TArduinoDigitalBinaryPacketElement1.CheckPopulated( AIsPopulated );
Declarations::Instances::TArduinoDigitalBinaryPacketElement2.CheckPopulated( AIsPopulated );
Declarations::Instances::TArduinoDigitalBinaryPacketElement3.CheckPopulated( AIsPopulated );
Declarations::Instances::TArduinoDigitalBinaryPacketElement4.CheckPopulated( AIsPopulated );
Declarations::Instances::TArduinoDigitalBinaryPacketElement5.CheckPopulated( AIsPopulated );
}
void GetData1::Call( uint8_t *& ADataStart, uint32_t & ADataIndex, uint8_t & AOffset )
{
Declarations::Instances::TArduinoDigitalBinaryPacketElement1.GetData( ADataStart, ADataIndex, AOffset );
Declarations::Instances::TArduinoDigitalBinaryPacketElement2.GetData( ADataStart, ADataIndex, AOffset );
Declarations::Instances::TArduinoDigitalBinaryPacketElement3.GetData( ADataStart, ADataIndex, AOffset );
Declarations::Instances::TArduinoDigitalBinaryPacketElement4.GetData( ADataStart, ADataIndex, AOffset );
Declarations::Instances::TArduinoDigitalBinaryPacketElement5.GetData( ADataStart, ADataIndex, AOffset );
}
void GetSize1::Call( int32_t AIndex, bool & AAlligned, int & AResult )
{
switch( AIndex )
{
case 0: Declarations::Instances::TArduinoDigitalBinaryPacketElement1.GetSize( AAlligned, AResult ); break;
case 1: Declarations::Instances::TArduinoDigitalBinaryPacketElement2.GetSize( AAlligned, AResult ); break;
case 2: Declarations::Instances::TArduinoDigitalBinaryPacketElement3.GetSize( AAlligned, AResult ); break;
case 3: Declarations::Instances::TArduinoDigitalBinaryPacketElement4.GetSize( AAlligned, AResult ); break;
case 4: Declarations::Instances::TArduinoDigitalBinaryPacketElement5.GetSize( AAlligned, AResult ); break;
}
}
void Expand1::Call( int32_t AIndex, uint8_t * const & AInBuffer, uint8_t * const & AOutBuffer, int & ASize, bool & AResult )
{
switch( AIndex )
{
case 0: Declarations::Instances::TArduinoDigitalBinaryPacketElement1.Expand( AInBuffer, AOutBuffer, ASize, AResult ); break;
case 1: Declarations::Instances::TArduinoDigitalBinaryPacketElement2.Expand( AInBuffer, AOutBuffer, ASize, AResult ); break;
case 2: Declarations::Instances::TArduinoDigitalBinaryPacketElement3.Expand( AInBuffer, AOutBuffer, ASize, AResult ); break;
case 3: Declarations::Instances::TArduinoDigitalBinaryPacketElement4.Expand( AInBuffer, AOutBuffer, ASize, AResult ); break;
case 4: Declarations::Instances::TArduinoDigitalBinaryPacketElement5.Expand( AInBuffer, AOutBuffer, ASize, AResult ); break;
}
}
void GetValue1::Call( int32_t AIndex, uint8_t & AValue )
{
}
void ApplyValues1::Call( uint8_t * AValue )
{
}
} // CallChains
// Pin Call Declarations
namespace PinCalls
{
void PinCallerConverterReceive1( void *_Data );
void PinCallerConverterReceive2( void *_Data );
} // PinCalls
// Pin Call Implementations
namespace PinCalls
{
void PinCallerReceive1::Notify( void *_Data )
{
Declarations::Instances::TArduinoRemoteXYProtocolSerial1._DirectPinReceive( _Data );
}
void PinCallerReceive0::Notify( void *_Data )
{
Declarations::Instances::TArduinoDigitalBinaryPacketElement5.InputPin_o_Receive( _Data );
}
void PinCallerReceive2::Notify( void *_Data )
{
BoardDeclarations::Instances::SerialPort0_Input_IOWByteStream_1.InputPin_o_Receive( _Data );
}
void PinCallerReceive3::Notify( void *_Data )
{
Declarations::Instances::TArduinoDigitalBinaryPacketElement1.InputPin_o_Receive( _Data );
TypeConverters::Converter0.Convert( _Data, PinCallerConverterReceive1 );
Declarations::Instances::Or1.InputPins_o_Receive( 0, _Data );
Declarations::Instances::Or3.InputPins_o_Receive( 0, _Data );
}
void PinCallerConverterReceive1( void *_Data )
{
Declarations::Instances::TILT.StepInputPin_o_Receive( _Data );
}
void PinCallerReceive4::Notify( void *_Data )
{
Declarations::Instances::TArduinoDigitalBinaryPacketElement2.InputPin_o_Receive( _Data );
Declarations::Instances::TILT.Reversed().InputPin_o_Receive( _Data );
Declarations::Instances::Or1.InputPins_o_Receive( 1, _Data );
Declarations::Instances::Or3.InputPins_o_Receive( 1, _Data );
}
void PinCallerReceive5::Notify( void *_Data )
{
Declarations::Instances::PAN.Reversed().InputPin_o_Receive( _Data );
Declarations::Instances::TArduinoDigitalBinaryPacketElement3.InputPin_o_Receive( _Data );
Declarations::Instances::Or2.InputPins_o_Receive( 0, _Data );
Declarations::Instances::Or3.InputPins_o_Receive( 2, _Data );
}
void PinCallerReceive6::Notify( void *_Data )
{
TypeConverters::Converter1.Convert( _Data, PinCallerConverterReceive2 );
Declarations::Instances::TArduinoDigitalBinaryPacketElement4.InputPin_o_Receive( _Data );
Declarations::Instances::Or2.InputPins_o_Receive( 1, _Data );
Declarations::Instances::Or3.InputPins_o_Receive( 3, _Data );
}
void PinCallerConverterReceive2( void *_Data )
{
Declarations::Instances::PAN.StepInputPin_o_Receive( _Data );
}
void PinCallerReceive7::Notify( void *_Data )
{
Declarations::Instances::TILT.Enabled().InputPin_o_Receive( _Data );
}
void PinCallerReceive8::Notify( void *_Data )
{
Declarations::Instances::PAN.Enabled().InputPin_o_Receive( _Data );
}
void PinCallerReceive9::Notify( void *_Data )
{
BoardDeclarations::Instances::ArduinoDigitalChannel_14.DigitalInputPin_o_Receive( _Data );
}
} // PinCalls
namespace ComponentsHardware
{
void SystemUpdateHardware()
{
}
} // ComponentsHardware
//The setup function is called once at startup of the sketch
void setup()
{
BoardDeclarations::Instances::TArduinoESP32BluetoothLEModule1.SystemInit();
BoardDeclarations::Instances::TArduinoESP32BluetoothLEServer1.SystemInit();
BoardDeclarations::Instances::ArduinoDigitalChannel_14.SystemInit();
Declarations::Instances::TArduinoBluetoothUartService1.SystemInit();
BoardDeclarations::Instances::SerialPort0.SystemInit();
BoardDeclarations::Instances::ArduinoAnalogInputChannel_AsDigital_14.SystemInit();
BoardDeclarations::Instances::ArduinoDigitalChannel_14.SystemStart();
BoardDeclarations::Instances::TArduinoESP32BluetoothLEModule1.SystemStart();
BoardDeclarations::Instances::TArduinoESP32BluetoothLEServer1.SystemStart();
Declarations::Instances::TArduinoBluetoothUartService1.SystemStart();
BoardDeclarations::Instances::ArduinoAnalogInputChannel_AsDigital_14.SystemStart();
Declarations::Instances::Packet1.SystemStart();
Declarations::Instances::TArduinoRemoteXYButtonElement1.SystemStart();
Declarations::Instances::TArduinoRemoteXYButtonElement2.SystemStart();
Declarations::Instances::TArduinoRemoteXYButtonElement3.SystemStart();
Declarations::Instances::TArduinoRemoteXYButtonElement4.SystemStart();
Declarations::Instances::TArduinoRemoteXYProtocolSerial1.SystemStart();
Declarations::Instances::Or1.SystemStart();
Declarations::Instances::Or2.SystemStart();
Declarations::Instances::Or3.SystemStart();
}
// The loop function is called in an endless loop
void loop()
{
BoardDeclarations::Instances::ArduinoDigitalChannel_14.SystemLoopBegin();
Declarations::Instances::TArduinoBluetoothUartService1.SystemLoopBegin();
BoardDeclarations::Instances::SerialPort0.SystemLoopBegin();
BoardDeclarations::Instances::ArduinoAnalogInputChannel_AsDigital_14.SystemLoopBegin();
Declarations::Instances::TILT.SystemLoopBegin();
Declarations::Instances::Packet1.SystemLoopBegin();
Declarations::Instances::PAN.SystemLoopBegin();
Declarations::Instances::TArduinoRemoteXYButtonElement1.SystemLoopBegin(::Declarations::RemoteXY_Declarations::_o_RemoteXY1::RemoteXY.switch_0);
Declarations::Instances::TArduinoRemoteXYButtonElement2.SystemLoopBegin(::Declarations::RemoteXY_Declarations::_o_RemoteXY1::RemoteXY.switch_1);
Declarations::Instances::TArduinoRemoteXYButtonElement3.SystemLoopBegin(::Declarations::RemoteXY_Declarations::_o_RemoteXY1::RemoteXY.switch_2);
Declarations::Instances::TArduinoRemoteXYButtonElement4.SystemLoopBegin(::Declarations::RemoteXY_Declarations::_o_RemoteXY1::RemoteXY.switch_3);
Declarations::Instances::TArduinoRemoteXYProtocolSerial1.SystemLoopBegin();
Declarations::Instances::Or1.SystemLoopEnd();
Declarations::Instances::Or2.SystemLoopEnd();
Declarations::Instances::Or3.SystemLoopEnd();
}