From fb3a438eb0df47707e0ab594fa0fa820dfaa8236 Mon Sep 17 00:00:00 2001 From: Simon Schmidt Date: Wed, 7 Jul 2021 15:34:36 +0200 Subject: [PATCH] wierd bug with uint8_t or bool in struct of FSM, updated FSM to uint32_t in/outputs --- lib/treppe/FSMTreppe3/FSMTreppe3.cpp | 276 ++++++++++++++++++++++++ lib/treppe/FSMTreppe3/FSMTreppe3.h | 120 +++++++++++ lib/treppe/FSMTreppe3/FSMTreppe3_bool.s | 243 +++++++++++++++++++++ lib/treppe/FSMTreppe3/FSMTreppe3_int.s | 242 +++++++++++++++++++++ lib/treppe/FSMTreppe3/cmd.txt | 1 + 5 files changed, 882 insertions(+) create mode 100644 lib/treppe/FSMTreppe3/FSMTreppe3.cpp create mode 100644 lib/treppe/FSMTreppe3/FSMTreppe3.h create mode 100644 lib/treppe/FSMTreppe3/FSMTreppe3_bool.s create mode 100644 lib/treppe/FSMTreppe3/FSMTreppe3_int.s create mode 100644 lib/treppe/FSMTreppe3/cmd.txt diff --git a/lib/treppe/FSMTreppe3/FSMTreppe3.cpp b/lib/treppe/FSMTreppe3/FSMTreppe3.cpp new file mode 100644 index 0000000..93530cc --- /dev/null +++ b/lib/treppe/FSMTreppe3/FSMTreppe3.cpp @@ -0,0 +1,276 @@ +// +// Academic License - for use in teaching, academic research, and meeting +// course requirements at degree granting institutions only. Not for +// government, commercial, or other organizational use. +// +// File: FSMTreppe.cpp +// +// Code generated for Simulink model 'FSMTreppe'. +// +// Model version : 1.49 +// Simulink Coder version : 9.5 (R2021a) 14-Nov-2020 +// C/C++ source code generated on : Wed Jul 7 15:27:06 2021 +// +// Target selection: ert.tlc +// Embedded hardware selection: ARM Compatible->ARM Cortex-M +// Code generation objectives: Unspecified +// Validation result: Not run +// +#include "FSMTreppe3.h" + +// Named constants for Chart: '/FSMTreppe' +const uint8_t FSMTreppe_IN_abdimmen_hoch = 1U; +const uint8_t FSMTreppe_IN_abdimmen_ldr = 2U; +const uint8_t FSMTreppe_IN_abdimmen_runter = 3U; +const uint8_t FSMTreppe_IN_aufdimmen_hoch = 4U; +const uint8_t FSMTreppe_IN_aufdimmen_ldr = 5U; +const uint8_t FSMTreppe_IN_aufdimmen_runter = 6U; +const uint8_t FSMTreppe_IN_inaktiv = 7U; +const uint8_t FSMTreppe_IN_ruhezustand = 8U; +const uint8_t FSMTreppe_IN_warten_hoch = 9U; +const uint8_t FSMTreppe_IN_warten_runter = 10U; + +// Model step function +void FSMTreppeModelClass::step() +{ + // Chart: '/FSMTreppe' incorporates: + // Inport: '/anim_beendet' + // Inport: '/ldr_schwelle' + // Inport: '/sensor_oben' + // Inport: '/sensor_unten' + + if (FSMTreppe_DW.temporalCounter_i1 < 511U) { + FSMTreppe_DW.temporalCounter_i1 = static_cast + (FSMTreppe_DW.temporalCounter_i1 + 1U); + } + + if (FSMTreppe_DW.is_active_c3_FSMTreppe == 0U) { + FSMTreppe_DW.is_active_c3_FSMTreppe = 1U; + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_inaktiv; + + // Outport: '/status' + FSMTreppe_Y.status = 0U; + } else { + switch (FSMTreppe_DW.is_c3_FSMTreppe) { + case FSMTreppe_IN_abdimmen_hoch: + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 6U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_ruhezustand; + + // Outport: '/status' + FSMTreppe_Y.status = 3U; + } + break; + + case FSMTreppe_IN_abdimmen_ldr: + // Outport: '/status' + FSMTreppe_Y.status = 2U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_inaktiv; + + // Outport: '/status' + FSMTreppe_Y.status = 0U; + } + break; + + case FSMTreppe_IN_abdimmen_runter: + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 9U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_ruhezustand; + + // Outport: '/status' + FSMTreppe_Y.status = 3U; + } + break; + + case FSMTreppe_IN_aufdimmen_hoch: + // Outport: '/laufrichtung' + FSMTreppe_Y.laufrichtung = 1U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + + // Outport: '/status' + FSMTreppe_Y.status = 4U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_warten_hoch; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 5U; + } + break; + + case FSMTreppe_IN_aufdimmen_ldr: + // Outport: '/status' + FSMTreppe_Y.status = 1U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_ruhezustand; + + // Outport: '/status' + FSMTreppe_Y.status = 3U; + } + break; + + case FSMTreppe_IN_aufdimmen_runter: + // Outport: '/laufrichtung' + FSMTreppe_Y.laufrichtung = 0U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + + // Outport: '/status' + FSMTreppe_Y.status = 7U; + if ((FSMTreppe_U.anim_beendet == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_warten_runter; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 8U; + } + break; + + case FSMTreppe_IN_inaktiv: + // Outport: '/status' + FSMTreppe_Y.status = 0U; + if (FSMTreppe_U.ldr_schwelle == 1U) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_aufdimmen_ldr; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 1U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + } + break; + + case FSMTreppe_IN_ruhezustand: + // Outport: '/status' + FSMTreppe_Y.status = 3U; + if (FSMTreppe_U.ldr_schwelle == 0U) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_abdimmen_ldr; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 2U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + } else if (FSMTreppe_U.sensor_unten == 1U) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_aufdimmen_hoch; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/laufrichtung' + FSMTreppe_Y.laufrichtung = 1U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + + // Outport: '/status' + FSMTreppe_Y.status = 4U; + } else if (FSMTreppe_U.sensor_oben == 1U) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_aufdimmen_runter; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/laufrichtung' + FSMTreppe_Y.laufrichtung = 0U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 1U; + + // Outport: '/status' + FSMTreppe_Y.status = 7U; + } + break; + + case FSMTreppe_IN_warten_hoch: + // Outport: '/status' + FSMTreppe_Y.status = 5U; + if ((FSMTreppe_U.sensor_oben == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_abdimmen_hoch; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 6U; + } + break; + + default: + // Outport: '/status' + // case IN_warten_runter: + FSMTreppe_Y.status = 8U; + if ((FSMTreppe_U.sensor_unten == 1U) || (FSMTreppe_DW.temporalCounter_i1 >= + 500U)) { + FSMTreppe_DW.is_c3_FSMTreppe = FSMTreppe_IN_abdimmen_runter; + FSMTreppe_DW.temporalCounter_i1 = 0U; + + // Outport: '/dimmrichtung' + FSMTreppe_Y.dimmrichtung = 0U; + + // Outport: '/status' + FSMTreppe_Y.status = 9U; + } + break; + } + } + + // End of Chart: '/FSMTreppe' +} + +// Model initialize function +void FSMTreppeModelClass::initialize() +{ + // (no initialization code required) +} + +// Model terminate function +void FSMTreppeModelClass::terminate() +{ + // (no terminate code required) +} + +// Constructor +FSMTreppeModelClass::FSMTreppeModelClass() : + FSMTreppe_DW(), + FSMTreppe_U(), + FSMTreppe_Y() +{ + // Currently there is no constructor body generated. +} + +// Destructor +FSMTreppeModelClass::~FSMTreppeModelClass() +{ + // Currently there is no destructor body generated. +} + +// +// File trailer for generated code. +// +// [EOF] +// diff --git a/lib/treppe/FSMTreppe3/FSMTreppe3.h b/lib/treppe/FSMTreppe3/FSMTreppe3.h new file mode 100644 index 0000000..29fec3b --- /dev/null +++ b/lib/treppe/FSMTreppe3/FSMTreppe3.h @@ -0,0 +1,120 @@ +// +// Academic License - for use in teaching, academic research, and meeting +// course requirements at degree granting institutions only. Not for +// government, commercial, or other organizational use. +// +// File: FSMTreppe.h +// +// Code generated for Simulink model 'FSMTreppe'. +// +// Model version : 1.49 +// Simulink Coder version : 9.5 (R2021a) 14-Nov-2020 +// C/C++ source code generated on : Wed Jul 7 15:27:06 2021 +// +// Target selection: ert.tlc +// Embedded hardware selection: ARM Compatible->ARM Cortex-M +// Code generation objectives: Unspecified +// Validation result: Not run +// +#ifndef RTW_HEADER_FSMTreppe_h_ +#define RTW_HEADER_FSMTreppe_h_ + +#include + +// Class declaration for model FSMTreppe +class FSMTreppeModelClass { + // public data and function members + public: + // Block states (default storage) for system '' + struct DW_FSMTreppe_T { + uint16_t temporalCounter_i1; // '/FSMTreppe' + uint8_t is_active_c3_FSMTreppe; // '/FSMTreppe' + uint8_t is_c3_FSMTreppe; // '/FSMTreppe' + }; + + // External inputs (root inport signals with default storage) + struct ExtU_FSMTreppe_T { + uint32_t sensor_unten; // '/sensor_unten' + uint32_t sensor_oben; // '/sensor_oben' + uint32_t anim_beendet; // '/anim_beendet' + uint32_t ldr_schwelle; // '/ldr_schwelle' + }; + + // External outputs (root outports fed by signals with default storage) + struct ExtY_FSMTreppe_T { + uint32_t laufrichtung; // '/laufrichtung' + uint32_t status; // '/status' + uint32_t dimmrichtung; // '/dimmrichtung' + }; + + // model initialize function + void initialize(); + + // model step function + void step(); + + // model terminate function + void terminate(); + + // Constructor + FSMTreppeModelClass(); + + // Destructor + ~FSMTreppeModelClass(); + + // Root-level structure-based inputs set method + + // Root inports set method + void setExternalInputs(const ExtU_FSMTreppe_T* pExtU_FSMTreppe_T) + { + FSMTreppe_U = *pExtU_FSMTreppe_T; + } + + // Root-level structure-based outputs get method + + // Root outports get method + const FSMTreppeModelClass::ExtY_FSMTreppe_T & getExternalOutputs() const + { + return FSMTreppe_Y; + } + + // private data and function members + private: + // Block states + DW_FSMTreppe_T FSMTreppe_DW; + + // External inputs + ExtU_FSMTreppe_T FSMTreppe_U; + + // External outputs + ExtY_FSMTreppe_T FSMTreppe_Y; + +}; + +//- +// The generated code includes comments that allow you to trace directly +// back to the appropriate location in the model. The basic format +// is /block_name, where system is the system number (uniquely +// assigned by Simulink) and block_name is the name of the block. +// +// Note that this particular code originates from a subsystem build, +// and has its own system numbers different from the parent model. +// Refer to the system hierarchy for this subsystem below, and use the +// MATLAB hilite_system command to trace the generated code back +// to the parent model. For example, +// +// hilite_system('FSM_Treppenlicht/FSMTreppe') - opens subsystem FSM_Treppenlicht/FSMTreppe +// hilite_system('FSM_Treppenlicht/FSMTreppe/Kp') - opens and selects block Kp +// +// Here is the system hierarchy for this model +// +// '' : 'FSM_Treppenlicht' +// '' : 'FSM_Treppenlicht/FSMTreppe' + +#endif // RTW_HEADER_FSMTreppe_h_ + +// +// File trailer for generated code. +// +// [EOF] +// diff --git a/lib/treppe/FSMTreppe3/FSMTreppe3_bool.s b/lib/treppe/FSMTreppe3/FSMTreppe3_bool.s new file mode 100644 index 0000000..cff8c46 --- /dev/null +++ b/lib/treppe/FSMTreppe3/FSMTreppe3_bool.s @@ -0,0 +1,243 @@ + .file "FSMTreppe3.cpp" + .text + .section .text._ZN19FSMTreppeModelClass4stepEv,"ax",@progbits + .literal_position + .literal .LC0, .L7 + .align 4 + .global _ZN19FSMTreppeModelClass4stepEv + .type _ZN19FSMTreppeModelClass4stepEv, @function +_ZN19FSMTreppeModelClass4stepEv: + l16ui a3, a2, 0 + movi a4, 0x1fe + bltu a4, a3, .L2 + addi.n a3, a3, 1 + s16i a3, a2, 0 +.L2: + l8ui a3, a2, 2 + bnez.n a3, .L3 + movi a4, 0x701 + s16i a4, a2, 2 + j .L35 +.L3: + l8ui a3, a2, 3 + movi.n a4, 8 + addi.n a3, a3, -1 + extui a3, a3, 0, 8 + bltu a4, a3, .L5 + l32r a4, .LC0 + addx4 a3, a3, a4 + l32i.n a3, a3, 0 + jx a3 + .align 4 + .align 4 +.L7: + .word .L15 + .word .L14 + .word .L13 + .word .L12 + .word .L11 + .word .L10 + .word .L9 + .word .L8 + .word .L6 +.L15: + movi.n a3, 0 + s8i a3, a2, 10 + movi.n a3, 6 +.L39: + s8i a3, a2, 9 +.L38: + l8ui a3, a2, 6 + beqz.n a3, .L33 +.L17: + movi.n a3, 8 + s8i a3, a2, 3 + movi.n a3, 3 + j .L35 +.L14: + movi.n a3, 2 + s8i a3, a2, 9 + movi.n a3, 0 + s8i a3, a2, 10 + l8ui a3, a2, 6 + bnez.n a3, .L18 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L18: + movi.n a3, 7 + s8i a3, a2, 3 + movi.n a3, 0 + j .L35 +.L13: + movi.n a3, 0 + s8i a3, a2, 10 + movi.n a3, 9 + j .L39 +.L12: + movi a3, 0x401 + s16i a3, a2, 8 + movi.n a3, 1 + s8i a3, a2, 10 + l8ui a3, a2, 6 + bnez.n a3, .L20 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L20: + movi.n a3, 9 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 5 + j .L35 +.L11: + movi.n a3, 1 + s8i a3, a2, 9 + s8i a3, a2, 10 + j .L38 +.L33: + l16ui a3, a2, 0 + movi a4, 0x1f3 + bltu a4, a3, .L17 + j .L1 +.L10: + movi a3, 0x700 + s16i a3, a2, 8 + movi.n a3, 1 + s8i a3, a2, 10 + l8ui a3, a2, 6 + bnez.n a3, .L21 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L21: + movi.n a3, 0xa + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 8 + j .L35 +.L9: + movi.n a3, 0 + s8i a3, a2, 9 + l8ui a3, a2, 7 + beqz.n a3, .L1 + movi.n a3, 5 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 1 + s8i a3, a2, 9 + j .L37 +.L8: + movi.n a3, 3 + s8i a3, a2, 9 + l8ui a3, a2, 7 + bnez.n a3, .L22 + movi.n a4, 2 + s8i a4, a2, 3 + s16i a3, a2, 0 + s8i a4, a2, 9 + j .L37 +.L22: + l8ui a3, a2, 4 + beqz.n a3, .L23 + movi.n a3, 4 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi a3, 0x401 + j .L36 +.L23: + l8ui a4, a2, 5 + beqz.n a4, .L1 + movi.n a4, 6 + s16i a3, a2, 0 + s8i a4, a2, 3 + movi a3, 0x700 +.L36: + s16i a3, a2, 8 + movi.n a3, 1 +.L37: + s8i a3, a2, 10 + j .L1 +.L6: + movi.n a3, 5 + s8i a3, a2, 9 + l8ui a3, a2, 5 + bnez.n a3, .L24 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L24: + movi.n a3, 1 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + s8i a3, a2, 10 + movi.n a3, 6 + j .L35 +.L5: + l8ui a3, a2, 4 + s8i a4, a2, 9 + bnez.n a3, .L25 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L25: + movi.n a3, 3 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + s8i a3, a2, 10 + movi.n a3, 9 +.L35: + s8i a3, a2, 9 +.L1: + ret.n + .size _ZN19FSMTreppeModelClass4stepEv, .-_ZN19FSMTreppeModelClass4stepEv + .section .text._ZN19FSMTreppeModelClass10initializeEv,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClass10initializeEv + .type _ZN19FSMTreppeModelClass10initializeEv, @function +_ZN19FSMTreppeModelClass10initializeEv: + ret.n + .size _ZN19FSMTreppeModelClass10initializeEv, .-_ZN19FSMTreppeModelClass10initializeEv + .section .text._ZN19FSMTreppeModelClass9terminateEv,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClass9terminateEv + .type _ZN19FSMTreppeModelClass9terminateEv, @function +_ZN19FSMTreppeModelClass9terminateEv: + ret.n + .size _ZN19FSMTreppeModelClass9terminateEv, .-_ZN19FSMTreppeModelClass9terminateEv + .section .text._ZN19FSMTreppeModelClassC2Ev,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClassC2Ev + .type _ZN19FSMTreppeModelClassC2Ev, @function +_ZN19FSMTreppeModelClassC2Ev: + movi.n a3, 0 + s16i a3, a2, 0 + s16i a3, a2, 2 + s16i a3, a2, 4 + s16i a3, a2, 6 + s16i a3, a2, 8 + s8i a3, a2, 10 + ret.n + .size _ZN19FSMTreppeModelClassC2Ev, .-_ZN19FSMTreppeModelClassC2Ev + .global _ZN19FSMTreppeModelClassC1Ev + .set _ZN19FSMTreppeModelClassC1Ev,_ZN19FSMTreppeModelClassC2Ev + .section .text._ZN19FSMTreppeModelClassD2Ev,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClassD2Ev + .type _ZN19FSMTreppeModelClassD2Ev, @function +_ZN19FSMTreppeModelClassD2Ev: + ret.n + .size _ZN19FSMTreppeModelClassD2Ev, .-_ZN19FSMTreppeModelClassD2Ev + .global _ZN19FSMTreppeModelClassD1Ev + .set _ZN19FSMTreppeModelClassD1Ev,_ZN19FSMTreppeModelClassD2Ev + .ident "GCC: (GNU) 10.3.0" diff --git a/lib/treppe/FSMTreppe3/FSMTreppe3_int.s b/lib/treppe/FSMTreppe3/FSMTreppe3_int.s new file mode 100644 index 0000000..5d1e5ba --- /dev/null +++ b/lib/treppe/FSMTreppe3/FSMTreppe3_int.s @@ -0,0 +1,242 @@ + .file "FSMTreppe3.cpp" + .text + .section .text._ZN19FSMTreppeModelClass4stepEv,"ax",@progbits + .literal_position + .literal .LC0, .L7 + .align 4 + .global _ZN19FSMTreppeModelClass4stepEv + .type _ZN19FSMTreppeModelClass4stepEv, @function +_ZN19FSMTreppeModelClass4stepEv: + l16ui a3, a2, 0 + movi a4, 0x1fe + bltu a4, a3, .L2 + addi.n a3, a3, 1 + s16i a3, a2, 0 +.L2: + l8ui a3, a2, 2 + bnez.n a3, .L3 + movi a4, 0x701 + s16i a4, a2, 2 + j .L35 +.L3: + l8ui a3, a2, 3 + movi.n a4, 8 + addi.n a3, a3, -1 + extui a3, a3, 0, 8 + bltu a4, a3, .L5 + l32r a4, .LC0 + addx4 a3, a3, a4 + l32i.n a3, a3, 0 + jx a3 + .align 4 + .align 4 +.L7: + .word .L15 + .word .L14 + .word .L13 + .word .L12 + .word .L11 + .word .L10 + .word .L9 + .word .L8 + .word .L6 +.L15: + movi.n a3, 0 + s8i a3, a2, 14 + movi.n a3, 6 +.L39: + s8i a3, a2, 13 +.L38: + l8ui a3, a2, 6 + beqz.n a3, .L33 +.L17: + movi.n a3, 8 + s8i a3, a2, 3 + movi.n a3, 3 + j .L35 +.L14: + movi.n a3, 2 + s8i a3, a2, 13 + movi.n a3, 0 + s8i a3, a2, 14 + l8ui a3, a2, 6 + bnez.n a3, .L18 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L18: + movi.n a3, 7 + s8i a3, a2, 3 + movi.n a3, 0 + j .L35 +.L13: + movi.n a3, 0 + s8i a3, a2, 14 + movi.n a3, 9 + j .L39 +.L12: + movi a3, 0x401 + s16i a3, a2, 12 + movi.n a3, 1 + s8i a3, a2, 14 + l8ui a3, a2, 6 + bnez.n a3, .L20 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L20: + movi.n a3, 9 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 5 + j .L35 +.L11: + movi.n a3, 1 + s8i a3, a2, 13 + s8i a3, a2, 14 + j .L38 +.L33: + l16ui a3, a2, 0 + movi a4, 0x1f3 + bltu a4, a3, .L17 + j .L1 +.L10: + movi a3, 0x700 + s16i a3, a2, 12 + movi.n a3, 1 + s8i a3, a2, 14 + l8ui a3, a2, 6 + bnez.n a3, .L21 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L21: + movi.n a3, 0xa + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 8 + j .L35 +.L9: + movi.n a3, 0 + s8i a3, a2, 13 + l32i.n a3, a2, 8 + beqz.n a3, .L1 + movi.n a3, 5 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi.n a3, 1 + s8i a3, a2, 13 + j .L37 +.L8: + movi.n a3, 3 + s8i a3, a2, 13 + l32i.n a3, a2, 8 + bnez.n a3, .L22 + movi.n a4, 2 + s8i a4, a2, 3 + s16i a3, a2, 0 + s8i a4, a2, 13 + j .L37 +.L22: + l8ui a3, a2, 4 + beqz.n a3, .L23 + movi.n a3, 4 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + movi a3, 0x401 + j .L36 +.L23: + l8ui a4, a2, 5 + beqz.n a4, .L1 + movi.n a4, 6 + s16i a3, a2, 0 + s8i a4, a2, 3 + movi a3, 0x700 +.L36: + s16i a3, a2, 12 + movi.n a3, 1 +.L37: + s8i a3, a2, 14 + j .L1 +.L6: + movi.n a3, 5 + s8i a3, a2, 13 + l8ui a3, a2, 5 + bnez.n a3, .L24 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L24: + movi.n a3, 1 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + s8i a3, a2, 14 + movi.n a3, 6 + j .L35 +.L5: + l8ui a3, a2, 4 + s8i a4, a2, 13 + bnez.n a3, .L25 + l16ui a3, a2, 0 + movi a4, 0x1f3 + bgeu a4, a3, .L1 +.L25: + movi.n a3, 3 + s8i a3, a2, 3 + movi.n a3, 0 + s16i a3, a2, 0 + s8i a3, a2, 14 + movi.n a3, 9 +.L35: + s8i a3, a2, 13 +.L1: + ret.n + .size _ZN19FSMTreppeModelClass4stepEv, .-_ZN19FSMTreppeModelClass4stepEv + .section .text._ZN19FSMTreppeModelClass10initializeEv,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClass10initializeEv + .type _ZN19FSMTreppeModelClass10initializeEv, @function +_ZN19FSMTreppeModelClass10initializeEv: + ret.n + .size _ZN19FSMTreppeModelClass10initializeEv, .-_ZN19FSMTreppeModelClass10initializeEv + .section .text._ZN19FSMTreppeModelClass9terminateEv,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClass9terminateEv + .type _ZN19FSMTreppeModelClass9terminateEv, @function +_ZN19FSMTreppeModelClass9terminateEv: + ret.n + .size _ZN19FSMTreppeModelClass9terminateEv, .-_ZN19FSMTreppeModelClass9terminateEv + .section .text._ZN19FSMTreppeModelClassC2Ev,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClassC2Ev + .type _ZN19FSMTreppeModelClassC2Ev, @function +_ZN19FSMTreppeModelClassC2Ev: + movi.n a3, 0 + s32i.n a3, a2, 0 + s32i.n a3, a2, 4 + s32i.n a3, a2, 8 + s16i a3, a2, 12 + s8i a3, a2, 14 + ret.n + .size _ZN19FSMTreppeModelClassC2Ev, .-_ZN19FSMTreppeModelClassC2Ev + .global _ZN19FSMTreppeModelClassC1Ev + .set _ZN19FSMTreppeModelClassC1Ev,_ZN19FSMTreppeModelClassC2Ev + .section .text._ZN19FSMTreppeModelClassD2Ev,"ax",@progbits + .literal_position + .align 4 + .global _ZN19FSMTreppeModelClassD2Ev + .type _ZN19FSMTreppeModelClassD2Ev, @function +_ZN19FSMTreppeModelClassD2Ev: + ret.n + .size _ZN19FSMTreppeModelClassD2Ev, .-_ZN19FSMTreppeModelClassD2Ev + .global _ZN19FSMTreppeModelClassD1Ev + .set _ZN19FSMTreppeModelClassD1Ev,_ZN19FSMTreppeModelClassD2Ev + .ident "GCC: (GNU) 10.3.0" diff --git a/lib/treppe/FSMTreppe3/cmd.txt b/lib/treppe/FSMTreppe3/cmd.txt new file mode 100644 index 0000000..f6198f1 --- /dev/null +++ b/lib/treppe/FSMTreppe3/cmd.txt @@ -0,0 +1 @@ + C:\Users\simon\.platformio\packages\toolchain-xtensa\bin\xtensa-lx106-elf-g++.exe -S -fno-rtti -std=gnu++17 -fno-exceptions -Os -mlongcalls -mtext-section-literals -falign-functions=4 -U__STRICT_ANSI__ -D_GNU_SOURCE -ffunction-sections -fdata-sections -Wall -Werror=return-type -free -fipa-pta -DPLATFORMIO=50200 -DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ADAFRUIT_HUZZAH -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DARDUINO=10805 -DARDUINO_BOARD=\"PLATFORMIO_HUZZAH\" -DFLASHMODE_QIO -DLWIP_OPEN_SRC -DNONOSDK22x_190703=1 -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DVTABLES_IN_FLASH -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -Ilib\treppe -Ilib\PCA9685-Arduino\src -IC:\Users\simon\.platformio\packages\framework-arduinoespressif8266\libraries\Wire -IC:\Users\simon\.platformio\packages\framework-arduinoespressif8266\tools\sdk\include -IC:\Users\simon\.platformio\packages\framework-arduinoespressif8266\cores\esp8266 -IC:\Users\simon\.platformio\packages\toolchain-xtensa\include -IC:\Users\simon\.platformio\packages\framework-arduinoespressif8266\tools\sdk\lwip2\include -IC:\Users\simon\.platformio\packages\framework-arduinoespressif8266\variants\adafruit lib\treppe\FSMTreppe3\FSMTreppe3.cpp \ No newline at end of file