Hello friends. i’m installing Mbed studio and including library “accelstepper”. This library in browser ide is working. But in Mbed studio get error. [Error] @0,0: L6218E: Undefined symbol t and [ERROR] Warning: L3912W: Option ‘legacyalign’ is deprecated. How i can fix it?
Hello there,
on the line 43 of .cpp of that library is extern Timer t;
. The keyword EXTERN is responsible for this behavior.
The solution is you need to declare the global variable t
of type Timer
. For example, in your main.cpp just place Timer t;
So that is not related to any Bug of any of Mbed’s parts.
BR, Jan
1 Like
in addition to Jans answer:
you can use us_ticker_read() to get the absolute timestamp, it is not necessary to use a timer here.
unsigned long time = us_ticker_read();
And using ‘long long’ for time and _lastStepTime should avoid the ‘gymnastics’ for overflow detection
2 Likes
Thank you, my friends. My engine started up again. I’m happy. It helped that unsigned long time = us_ticker_read ();.