//----------------------------------------------
//
//         Sketch Generated by Visuino
//               www.visuino.com
//           Version 8.0.0.90
//
//------------------ Source --------------------
//
// SEISMOGRAPH.visuino
//
//----------------------------------------------

#define VISUINO_ARDUINO_NANO

#include <OpenWire.h>
#include <Mitov.h>
#include <Wire.h>
#include <Mitov_Basic_I2C.h>
#include <Mitov_MPU6050.h>
#include <Mitov_Math.h>
#include <Mitov_Timing.h>
#include <Mitov_LogicGates.h>
#ifndef VISUINO_ESP32
#include <Servo.h> // The Arduino Servo library https://github.com/arduino-libraries/Servo needs to be installed trough the Arduino IDE for this Scetch to compile!
#endif // VISUINO_ESP32
#include <Mitov_Servo.h>
#include <Mitov_Stepper.h>
#include <Mitov_BinaryGenerators.h>


// Shared Component Member Variables

namespace ComponentVariables
{
class
{
public:
  uint32_t Value5 : 4;
  bool Value1 : 1;
  bool Value2 : 1;
  bool Value3 : 1;
  bool Value4 : 1;
  bool Value6 : 1;
  bool Value7 : 1;
  bool Value8 : 1;
  bool Value9 : 1;

} BitFields;

class Variable5
{
public:
  inline static uint32_t GetValue() { return BitFields.Value5; }
  inline static void SetValue( uint32_t AValue ) { BitFields.Value5 = AValue; }

};

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 bool GetValue() { return BitFields.Value3; }
  inline static void SetValue( bool AValue ) { BitFields.Value3 = AValue; }

};

class Variable4
{
public:
  inline static bool GetValue() { return BitFields.Value4; }
  inline static void SetValue( bool AValue ) { BitFields.Value4 = 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; }

};

} // ComponentVariables

// Arduino Constant Declarations

namespace VisuinoConstants
{
class FloatValue1
{
public:
    inline static constexpr float GetValue() { return -300; }
};

class FloatValue3
{
public:
    inline static constexpr float GetValue() { return 0; }
};

class FloatValue5
{
public:
    inline static constexpr float GetValue() { return 0.5; }
};

class FloatValue0
{
public:
    inline static constexpr float GetValue() { return 1.25; }
};

class FloatValue6
{
public:
    inline static constexpr float GetValue() { return 1; }
};

class FloatValue4
{
public:
    inline static constexpr float GetValue() { return 0.200000002980232; }
};

class FloatValue2
{
public:
    inline static constexpr float GetValue() { return 300; }
};

} // 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

// Arduino Board Declarations

namespace BoardDeclarations
{
namespace Types
{
typedef Mitov::ArduinoDigitalInputChannel<
  Mitov::ConstantProperty<51, bool, false >, // InitialValue = 0
  Mitov::ConstantProperty<25, bool, false >, // IsOpenDrain = 0
  Mitov::ConstantProperty<25, bool, true >, // IsOutput = -1
  Mitov::ConstantProperty<20, bool, false >, // IsPullDown = 0
  Mitov::ConstantProperty<5, bool, false >, // IsPullUp = False (Default)
  Mitov::DigitalPin_NoImplementation<6 >, // OutputPin
  8 // PIN_DIGITAL
  > ArduinoDigitalChannel_8;
} // Types

namespace Instances
{
Types::ArduinoDigitalChannel_8 ArduinoDigitalChannel_8;
} // Instances

namespace Types
{
typedef Mitov::ArduinoDigitalInputChannel<
  Mitov::ConstantProperty<51, bool, false >, // InitialValue = 0
  Mitov::ConstantProperty<25, bool, false >, // IsOpenDrain = 0
  Mitov::ConstantProperty<25, bool, true >, // IsOutput = -1
  Mitov::ConstantProperty<20, bool, false >, // IsPullDown = 0
  Mitov::ConstantProperty<5, bool, false >, // IsPullUp = False (Default)
  Mitov::DigitalPin_NoImplementation<6 >, // OutputPin
  13 // PIN_DIGITAL
  > ArduinoDigitalChannel_13;
} // Types

namespace Instances
{
Types::ArduinoDigitalChannel_13 ArduinoDigitalChannel_13;
} // Instances

} // BoardDeclarations

// Declarations

namespace Declarations
{
namespace Types
{
typedef Mitov::MPU6050I2C<
  TwoWire, // 0_I2C_TYPE_PIN
  Wire, // 1_I2C_NAME_PIN
  Mitov::NestedProperty<28, Mitov::MPUAccelerometer<
    Mitov::ConstantProperty<15, Mitov::TArduinoMPU9250AccelerometerRange, Mitov::ar2g >, // FullScaleRange = 0 (Default)
    Mitov::AnalogPin_NoImplementation<12 >, // OutputPins_0
    Mitov::AnalogPin_NoImplementation<13 >, // OutputPins_1
    Mitov::AnalogPin_NoImplementation<14 >, // OutputPins_2
    Mitov::NestedProperty<19, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<17, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<18, bool, false > // SelfTest = False (Default)
       > >, // X
    Mitov::NestedProperty<23, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<21, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<22, bool, false > // SelfTest = False (Default)
       > >, // Y
    Mitov::NestedProperty<27, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<25, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<26, bool, false > // SelfTest = False (Default)
       > > // Z
     > >, // Accelerometer
  Mitov::ConstantProperty<9, uint8_t, 104 >, // Address = 104 (Default)
  Mitov::ConstantProperty<5, bool, false >, // ClockInputPin_o_IsConnected = False
  Mitov::ConstantProperty<8, Mitov::TArduinoMPUClockSource, Mitov::mcsAutoSelect >, // ClockSource = 0 (Default)
  Mitov::ConstantProperty<3, bool, true >, // Enabled = True (Default)
  Mitov::ConstantProperty<71, Mitov::TArduinoMPU6050Filter, Mitov::f_AB_260Hz_GB_256Hz_F_8KHz >, // Filter = 0 (Default)
  Mitov::NestedProperty<66, Mitov::MPUFrameSynchronization<
    Mitov::ConstantProperty<64, bool, false >, // EnableInterrupt = False (Default)
    Mitov::ConstantProperty<65, bool, false >, // InterruptOnLowLevel = False (Default)
    Mitov::ConstantProperty<63, Mitov::TArduinoMPU9250FrameSynchronizationLocation, Mitov::fslDisabled >, // Location = 0 (Default)
    Mitov::ClockPin_NoImplementation<62 > // OutputPin
     > >, // FrameSynchronization
  Mitov::NestedProperty<48, Mitov::MPUGyroscope<
    Mitov::ConstantProperty<34, Mitov::TArduinoMPU9250GyroscopeRange, Mitov::gr500dps >, // FullScaleRange = 1
    Mitov::AnalogPin_EmbeddedPinImplementation<31, ::PinCalls::PinCallerReceive0 >, // OutputPins_0
    Mitov::AnalogPin_EmbeddedPinImplementation<32, ::PinCalls::PinCallerReceive1 >, // OutputPins_1
    Mitov::AnalogPin_EmbeddedPinImplementation<33, ::PinCalls::PinCallerReceive2 >, // OutputPins_2
    Mitov::ConstantProperty<35, Mitov::TArduinoAngleUnits, Mitov::auDegree >, // Units = auDegree (Default)
    Mitov::NestedProperty<39, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<37, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<38, bool, false > // SelfTest = False (Default)
       > >, // X
    Mitov::NestedProperty<43, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<41, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<42, bool, false > // SelfTest = False (Default)
       > >, // Y
    Mitov::NestedProperty<47, Mitov::MPUOptionalSelfTestSensor<
      Mitov::ConstantProperty<45, bool, true >, // Enabled = True (Default)
      Mitov::ConstantProperty<46, bool, false > // SelfTest = False (Default)
       > > // Z
     > >, // Gyroscope
  Mitov::NestedProperty<60, Mitov::MPUInterrupt<
    Mitov::ConstantProperty<55, bool, false >, // Inverted = False (Default)
    Mitov::ConstantProperty<57, bool, true >, // Latch = True (Default)
    Mitov::ConstantProperty<58, bool, false >, // OnFrameSync = False (Default)
    Mitov::ConstantProperty<59, bool, false >, // OnRawReady = False (Default)
    Mitov::ConstantProperty<56, bool, false > // OpenDrain = False (Default)
     > >, // Interrupt
  Mitov::NestedProperty<70, Mitov::MPU6050LowPowerMode<
    Mitov::ConstantProperty<68, bool, false >, // Enabled = False (Default)
    Mitov::ConstantPropertyFloat<69, float, ::VisuinoConstants::FloatValue0 > // SampleFrequency = 1.25 (Default)
     > >, // LowPowerMode
  Mitov::ConstantProperty<72, uint32_t, 1 >, // SampleRateDivider = 1 (Default)
  Mitov::NestedProperty<53, Mitov::TArduinoBasicEnabledThermometer<
    Mitov::ConstantProperty<50, bool, true >, // Enabled = True (Default)
    Mitov::ConstantProperty<52, bool, false >, // InFahrenheit = False (Default)
    Mitov::AnalogPin_NoImplementation<51 > // OutputPin
     > > // Thermometer
   > AccelerometerGyroscope1; // TArduinoMPU6050I2C
} // Types

namespace Instances
{
Types::AccelerometerGyroscope1 AccelerometerGyroscope1; // TArduinoMPU6050I2C
} // Instances

namespace Types
{
typedef Mitov::MultiInputMathOperation<
  Mitov::Multiply<float>, // BASE
  3, // COUNT_InputPins
  Mitov::TypedVariable<9, bool, ::ComponentVariables::Variable1 >, // FModified = 0
  Mitov::AnalogPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive3 >, // OutputPin
  float // TYPE
   > Multiply1; // TArduinoMultiply
} // Types

namespace Instances
{
Types::Multiply1 Multiply1; // TArduinoMultiply
} // Instances

namespace Types
{
typedef Mitov::MapRange<
  Mitov::ConstantProperty<5, bool, true >, // Enabled = True (Default)
  Mitov::NestedProperty<9, Mitov::ValueRange<
    Mitov::ConstantPropertyFloat<8, float, ::VisuinoConstants::FloatValue2 >, // Value_Max = 300
    Mitov::ConstantPropertyFloat<7, float, ::VisuinoConstants::FloatValue1 > // Value_Min = -300
     > >, // InputRange
  Mitov::AnalogPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive4 >, // OutputPin
  Mitov::NestedProperty<13, Mitov::ValueRange<
    Mitov::ConstantPropertyFloat<12, float, ::VisuinoConstants::FloatValue4 >, // Value_Max = 0.200000002980232
    Mitov::ConstantPropertyFloat<11, float, ::VisuinoConstants::FloatValue3 > // Value_Min = 0 (Default)
     > > // OutputRange
   > MapRange1; // TArduinoMapRange
} // Types

namespace Instances
{
Types::MapRange1 MapRange1; // TArduinoMapRange
} // Instances

namespace Types
{
typedef Mitov::Timer<
  Mitov::ConstantProperty<6, bool, false >, // AutoRepeat = False (Default)
  Mitov::ConstantProperty<7, bool, true >, // CanRestart = True (Default)
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::TypedVariable<10, bool, ::ComponentVariables::Variable2 >, // FValue = 0
  Mitov::ConstantProperty<5, uint32_t, 1410065408 >, // Interval = 1410065408
  Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive5 > // OutputPin
   > Timer1; // TArduinoTimer
} // Types

namespace Instances
{
Types::Timer1 Timer1; // TArduinoTimer
} // Instances

namespace Types
{
typedef Mitov::CompareRange<
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::TypedVariable<13, bool, ::ComponentVariables::Variable3 >, // FStarted = 0
  Mitov::ConstantProperty<11, bool, false >, // IncludeLimits = False (Default)
  Mitov::ConstantProperty<10, bool, false >, // IsOutsideRange = False (Default)
  Mitov::ConstantProperty<12, bool, true >, // OnlyChanged = True (Default)
  Mitov::DigitalPin_EmbeddedPinImplementation<5, ::PinCalls::PinCallerReceive6 >, // OutputPin
  Mitov::NestedProperty<9, Mitov::ValueRange<
    Mitov::ConstantPropertyFloat<8, float, ::VisuinoConstants::FloatValue4 >, // Value_Max = 0.200000002980232
    Mitov::ConstantPropertyFloat<7, float, ::VisuinoConstants::FloatValue3 > // Value_Min = 0 (Default)
     > >, // Range
  float // TYPE
   > CompareRange1; // TArduinoAnalogCompareRange
} // Types

namespace Instances
{
Types::CompareRange1 CompareRange1; // TArduinoAnalogCompareRange
} // Instances

namespace Types
{
typedef Mitov::Delay<
  Mitov::ConstantProperty<8, bool, true >, // CanRestart = True (Default)
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::TypedVariable<9, bool, ::ComponentVariables::Variable4 >, // FValue = 0
  Mitov::ConstantProperty<7, uint32_t, 5000000 >, // Interval = 5000000
  Mitov::ClockPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive7 > // OutputPin
   > Delay1; // TArduinoDelay
} // Types

namespace Instances
{
Types::Delay1 Delay1; // TArduinoDelay
} // Instances

namespace Types
{
typedef Mitov::BooleanInverter<
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive8 > // OutputPin
   > Inverter1; // TArduinoBooleanInverter
} // Types

namespace Instances
{
Types::Inverter1 Inverter1; // TArduinoBooleanInverter
} // Instances

namespace Types
{
typedef Mitov::MitovServo<
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::VariableMinMaxPropertyFloat<7, float, ::VisuinoConstants::FloatValue5, ::VisuinoConstants::FloatValue3, ::VisuinoConstants::FloatValue6 >, // InitialValue = 0.5 (Default)
  Mitov::ConstantProperty<10, uint32_t, 1600 >, // MaxPulse = 1600
  Mitov::ConstantProperty<9, uint32_t, 544 >, // MinPulse = 544 (Default)
  7, // OutputPin
  Mitov::ConstantProperty<8, bool, false > // Reversed = False (Default)
   > Servo1; // TArduinoServo
} // Types

namespace Instances
{
Types::Servo1 Servo1; // TArduinoServo
} // Instances

namespace Types
{
typedef Mitov::StepperMotor4Wire<
  Mitov::ConstantProperty<4, bool, true >, // Enabled = True (Default)
  Mitov::ConstantProperty<15, uint32_t, 0 >, // FLastTime = 0
  Mitov::TypedVariable<13, uint32_t, ::ComponentVariables::Variable5 >, // FStep = 4
  Mitov::ConstantProperty<12, bool, false >, // HalfStep = False
  Mitov::DigitalPin_DirectBoardPinImplementation<2 >, // OutputPins_0
  Mitov::DigitalPin_DirectBoardPinImplementation<3 >, // OutputPins_1
  Mitov::DigitalPin_DirectBoardPinImplementation<4 >, // OutputPins_2
  Mitov::DigitalPin_DirectBoardPinImplementation<5 >, // OutputPins_3
  Mitov::ConstantProperty<5, bool, true >, // Reversed = True
  Mitov::ConstantPropertyFloat<6, float, ::VisuinoConstants::FloatValue3 > // StepsPerSecond = 0 (Default)
   > Stepper1; // TArduinoStepperMotor4Wire
} // Types

namespace Instances
{
Types::Stepper1 Stepper1; // TArduinoStepperMotor4Wire
} // Instances

namespace Types
{
typedef Mitov::PulseGenerator<
  Mitov::ConstantPropertyFloat<8, float, ::VisuinoConstants::FloatValue3 >, // Asymmetry = 0 (Default)
  Mitov::TypedVariableValue<4, bool, ::ComponentVariables::Variable6, false >, // Enabled = False
  Mitov::ConstantPropertyFloat<17, float, ::VisuinoConstants::FloatValue3>, // FPhase = 0
  Mitov::TypedVariable<15, bool, ::ComponentVariables::Variable7 >, // FValue = 0
  Mitov::ConstantPropertyFloat<7, float, ::VisuinoConstants::FloatValue2 >, // Frequency = 300
  Mitov::ConstantProperty<5, bool, false >, // InitialValue = False (Default)
  Mitov::DigitalPin_EmbeddedPinImplementation<3, ::PinCalls::PinCallerReceive9 >, // OutputPin
  Mitov::ConstantPropertyFloat<9, float, ::VisuinoConstants::FloatValue3 >, // Phase = 0 (Default)
  Mitov::NestedProperty<14, Mitov::TArduinoGeneratorWhenDisabled<
    Mitov::ConstantProperty<13, bool, false >, // CompleteCycle = False (Default)
    Mitov::ConstantProperty<12, bool, true >, // FCycleCompleted = True
    Mitov::ConstantProperty<11, bool, false > // Reset = False (Default)
     > > // WhenDisabled
   > PulseGenerator1; // TArduinoPulseGenerator
} // Types

namespace Instances
{
Types::PulseGenerator1 PulseGenerator1; // TArduinoPulseGenerator
} // Instances

} // Declarations

// Type Converters

namespace TypeConverters
{
Mitov::Convert_BinaryToClock<Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable8 > > Converter0;
Mitov::Convert_BinaryToClock<Mitov::TypedVariable<0, bool, ::ComponentVariables::Variable9 > > Converter1;
} // TypeConverters

// Bindings

namespace Bindings
{
inline void PulseGenerator1_EnabledInputPin_o_Receive( void * ___PTR___, bool __AOriginalValue__ )
{
  bool ___A_VALUE___ = *(bool *)___PTR___;
  if( __AOriginalValue__ == ___A_VALUE___ )
    return;

  Declarations::Instances::PulseGenerator1.Enabled() = ___A_VALUE___;
  Declarations::Instances::PulseGenerator1.UpdateEnabled();
}

} // Bindings

// Pin Call Declarations

namespace PinCalls
{
void PinCallerConverterReceive1( void *_Data );
void PinCallerConverterReceive2( void *_Data );
} // PinCalls

// Pin Call Implementations

namespace PinCalls
{
void PinCallerReceive0::Notify( void *_Data )
{
  Declarations::Instances::Multiply1.InputPins_o_Receive( 0, _Data );
}

void PinCallerReceive1::Notify( void *_Data )
{
  Declarations::Instances::Multiply1.InputPins_o_Receive( 1, _Data );
}

void PinCallerReceive2::Notify( void *_Data )
{
  Declarations::Instances::Multiply1.InputPins_o_Receive( 2, _Data );
}

void PinCallerReceive3::Notify( void *_Data )
{
  Declarations::Instances::MapRange1.InputPin_o_Receive( _Data );
}

void PinCallerReceive4::Notify( void *_Data )
{
  Declarations::Instances::CompareRange1.InputPin_o_Receive( _Data );
  Declarations::Instances::Servo1.InputPin_o_Receive( _Data );
}

void PinCallerReceive5::Notify( void *_Data )
{
  bool __Value_PulseGenerator1_EnabledInputPin__ = Declarations::Instances::PulseGenerator1.Enabled().GetValue();
  BoardDeclarations::Instances::ArduinoDigitalChannel_8.DigitalInputPin_o_Receive( _Data );
  ::Bindings::PulseGenerator1_EnabledInputPin_o_Receive( _Data, __Value_PulseGenerator1_EnabledInputPin__ );
}

void PinCallerReceive6::Notify( void *_Data )
{
  Declarations::Instances::Inverter1.InputPin_o_Receive( _Data );
}

void PinCallerReceive7::Notify( void *_Data )
{
  Declarations::Instances::Timer1.ResetInputPin_o_Receive( _Data );
}

void PinCallerReceive8::Notify( void *_Data )
{
  TypeConverters::Converter0.Convert( _Data, PinCallerConverterReceive1 );
  BoardDeclarations::Instances::ArduinoDigitalChannel_13.DigitalInputPin_o_Receive( _Data );
}

void PinCallerConverterReceive1( void *_Data )
{
  Declarations::Instances::Delay1.StartInputPin_o_Receive( _Data );
  Declarations::Instances::Timer1.StartInputPin_o_Receive( _Data );
}
void PinCallerReceive9::Notify( void *_Data )
{
  TypeConverters::Converter1.Convert( _Data, PinCallerConverterReceive2 );
}

void PinCallerConverterReceive2( void *_Data )
{
  Declarations::Instances::Stepper1.StepInputPin_o_Receive( _Data );
}
} // PinCalls

namespace ComponentsHardware
{
void SystemUpdateHardware()
{
}
} // ComponentsHardware

//The setup function is called once at startup of the sketch
void setup()
{
  Wire.begin();

  BoardDeclarations::Instances::ArduinoDigitalChannel_8.SystemInit();
  BoardDeclarations::Instances::ArduinoDigitalChannel_13.SystemInit();
  Declarations::Instances::AccelerometerGyroscope1.SystemInit();

  BoardDeclarations::Instances::ArduinoDigitalChannel_8.SystemStart();
  BoardDeclarations::Instances::ArduinoDigitalChannel_13.SystemStart();
  Declarations::Instances::AccelerometerGyroscope1.SystemStart();
  Declarations::Instances::Multiply1.SystemStart();
  Declarations::Instances::Timer1.SystemStart();
  Declarations::Instances::CompareRange1.SystemStart();
  Declarations::Instances::Servo1.SystemStart();
  Declarations::Instances::PulseGenerator1.SystemStart();
}

// The loop function is called in an endless loop
void loop()
{
  BoardDeclarations::Instances::ArduinoDigitalChannel_8.SystemLoopBegin();
  BoardDeclarations::Instances::ArduinoDigitalChannel_13.SystemLoopBegin();
  Declarations::Instances::AccelerometerGyroscope1.SystemLoopBegin();
  Declarations::Instances::Timer1.SystemLoopBegin();
  Declarations::Instances::Delay1.SystemLoopBegin();
  Declarations::Instances::PulseGenerator1.SystemLoopBegin();
  Declarations::Instances::Multiply1.SystemLoopEnd();
}
