wierd bug with uint8_t or bool in struct of FSM, updated FSM to uint32_t in/outputs
This commit is contained in:
parent
0cd46a3c9f
commit
fb3a438eb0
lib/treppe/FSMTreppe3
276
lib/treppe/FSMTreppe3/FSMTreppe3.cpp
Normal file
276
lib/treppe/FSMTreppe3/FSMTreppe3.cpp
Normal file
@ -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: '<Root>/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: '<Root>/FSMTreppe' incorporates:
|
||||
// Inport: '<Root>/anim_beendet'
|
||||
// Inport: '<Root>/ldr_schwelle'
|
||||
// Inport: '<Root>/sensor_oben'
|
||||
// Inport: '<Root>/sensor_unten'
|
||||
|
||||
if (FSMTreppe_DW.temporalCounter_i1 < 511U) {
|
||||
FSMTreppe_DW.temporalCounter_i1 = static_cast<uint16_t>
|
||||
(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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 0U;
|
||||
} else {
|
||||
switch (FSMTreppe_DW.is_c3_FSMTreppe) {
|
||||
case FSMTreppe_IN_abdimmen_hoch:
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 3U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_abdimmen_ldr:
|
||||
// Outport: '<Root>/status'
|
||||
FSMTreppe_Y.status = 2U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 0U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_abdimmen_runter:
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 3U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_aufdimmen_hoch:
|
||||
// Outport: '<Root>/laufrichtung'
|
||||
FSMTreppe_Y.laufrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 5U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_aufdimmen_ldr:
|
||||
// Outport: '<Root>/status'
|
||||
FSMTreppe_Y.status = 1U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 3U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_aufdimmen_runter:
|
||||
// Outport: '<Root>/laufrichtung'
|
||||
FSMTreppe_Y.laufrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 8U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_inaktiv:
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 1U;
|
||||
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 1U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_ruhezustand:
|
||||
// Outport: '<Root>/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: '<Root>/status'
|
||||
FSMTreppe_Y.status = 2U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/laufrichtung'
|
||||
FSMTreppe_Y.laufrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/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: '<Root>/laufrichtung'
|
||||
FSMTreppe_Y.laufrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 1U;
|
||||
|
||||
// Outport: '<Root>/status'
|
||||
FSMTreppe_Y.status = 7U;
|
||||
}
|
||||
break;
|
||||
|
||||
case FSMTreppe_IN_warten_hoch:
|
||||
// Outport: '<Root>/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: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/status'
|
||||
FSMTreppe_Y.status = 6U;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Outport: '<Root>/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: '<Root>/dimmrichtung'
|
||||
FSMTreppe_Y.dimmrichtung = 0U;
|
||||
|
||||
// Outport: '<Root>/status'
|
||||
FSMTreppe_Y.status = 9U;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// End of Chart: '<Root>/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]
|
||||
//
|
120
lib/treppe/FSMTreppe3/FSMTreppe3.h
Normal file
120
lib/treppe/FSMTreppe3/FSMTreppe3.h
Normal file
@ -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 <cstdint>
|
||||
|
||||
// Class declaration for model FSMTreppe
|
||||
class FSMTreppeModelClass {
|
||||
// public data and function members
|
||||
public:
|
||||
// Block states (default storage) for system '<Root>'
|
||||
struct DW_FSMTreppe_T {
|
||||
uint16_t temporalCounter_i1; // '<Root>/FSMTreppe'
|
||||
uint8_t is_active_c3_FSMTreppe; // '<Root>/FSMTreppe'
|
||||
uint8_t is_c3_FSMTreppe; // '<Root>/FSMTreppe'
|
||||
};
|
||||
|
||||
// External inputs (root inport signals with default storage)
|
||||
struct ExtU_FSMTreppe_T {
|
||||
uint32_t sensor_unten; // '<Root>/sensor_unten'
|
||||
uint32_t sensor_oben; // '<Root>/sensor_oben'
|
||||
uint32_t anim_beendet; // '<Root>/anim_beendet'
|
||||
uint32_t ldr_schwelle; // '<Root>/ldr_schwelle'
|
||||
};
|
||||
|
||||
// External outputs (root outports fed by signals with default storage)
|
||||
struct ExtY_FSMTreppe_T {
|
||||
uint32_t laufrichtung; // '<Root>/laufrichtung'
|
||||
uint32_t status; // '<Root>/status'
|
||||
uint32_t dimmrichtung; // '<Root>/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 <system>/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
|
||||
//
|
||||
// '<Root>' : 'FSM_Treppenlicht'
|
||||
// '<S1>' : 'FSM_Treppenlicht/FSMTreppe'
|
||||
|
||||
#endif // RTW_HEADER_FSMTreppe_h_
|
||||
|
||||
//
|
||||
// File trailer for generated code.
|
||||
//
|
||||
// [EOF]
|
||||
//
|
243
lib/treppe/FSMTreppe3/FSMTreppe3_bool.s
Normal file
243
lib/treppe/FSMTreppe3/FSMTreppe3_bool.s
Normal file
@ -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"
|
242
lib/treppe/FSMTreppe3/FSMTreppe3_int.s
Normal file
242
lib/treppe/FSMTreppe3/FSMTreppe3_int.s
Normal file
@ -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"
|
1
lib/treppe/FSMTreppe3/cmd.txt
Normal file
1
lib/treppe/FSMTreppe3/cmd.txt
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user