If using Oblectamenta even a simple guard expression requires a lot of text:
kind Guard;
oblectamenta{
OblectamentaDataLabel valve_status;
global{
data{
valve_status;
1;
};
};
};
Guard valve_open;
Guard valve_not_open;
valve_open =
oblectamenta{text{asm{
OblectamentaDataLabel valve_status;
ldi32(valve_status);
sti32(RES);
};};};
Desired solution:
valve_open = valve_status != 0;
By refering to an OblectamentaData symbol the state-machine compiler can infer that an Oblectamenta fragment needs to be generated.
If using Oblectamenta even a simple guard expression requires a lot of text:
kind Guard;
oblectamenta{
OblectamentaDataLabel valve_status;
global{
data{
valve_status;
1;
};
};
};
Guard valve_open;
Guard valve_not_open;
valve_open =
oblectamenta{text{asm{
OblectamentaDataLabel valve_status;
ldi32(valve_status);
sti32(RES);
};};};
Desired solution:
valve_open = valve_status != 0;
By refering to an OblectamentaData symbol the state-machine compiler can infer that an Oblectamenta fragment needs to be generated.