I have obstacle avoidance code that was working in 0.17.1, but in 0.18.1 during initialization, the motors & servo go spastic trying to process multiple values in quick succession. Once initialization is complete, the code seems to execute normally. The motor & servo nodes should not activate if a pulse is not fed into them and all was quiet during initialization in 0.17.1 XOD.
The good news: This program had <100 Bytes of dynamic memory free in 0.17.1 & I could not add LCD nodes. In 0.18.1, I can add my LCD-init library to display forward distance on line1 & left/right distance on line2 and still have 939 Bytes free!
Yeah, sorry for the delay. I was on vacation and the guys were very focused on 0.19.0. We’ll try to find the problem at the beginning of next week, before starting a new development sprint.
No problem, I’m getting more than my money’s worth for support
Mostly I wanted to make sure it hadn’t just been forgotten. I’d really like to use the latest version for my class, but they are already having trouble understanding code; they don’t need a bug like this to confuse them more :-(. The down-side of using beta software to teach a class… Still an awesome product that is much easier for them to understand than straight Arduino IDE!
@gweimer I’ve carefully compared node evaluation order between 0.17 and 0.19 and found a critical bug introduced while switching to the optimized code generator:
void evaluate(Context ctx) {
if (isInputDirty<input_IN>(ctx)) { // This happens only when all nodes are evaluated
setTimeout(ctx, 0);
} else {
emitValue<output_OUT>(ctx, true);
}
}
} // namespace xod__core__defer_pulse
It should. I guess you have forked the xod/core unintentionally. Take a look at your workspace libraries (~/xod/__lib__) if the xod/core is here, just remove it and the system would use the core library bundled with IDE itself.
Good call. That was the issue. I had updated range-finder code to return a big number if no ping returned (nothing in front of us) instead of the default to not change the output on error.
Startup is clean now. I’ll have to change my code to work with core or create a new library instead of changing core.