synthetos/Motate

Compiling For Arduino Uno

Closed this issue · 2 comments

I know that Motate was originally tested by @giseburt for performance on an Arduino Uno. Unfortunately, there seems to have been a regression, (or I don't know how to compile it for the Uno,) seeing how some objects are missing from the AvrTimers.h file (compared to the XMegaTimers.h file) preventing it from compiling. This has been tested from the Arduino IDE, as there seems to be no support for the Uno as a board.

In particular, what seems to be missing from AvrTimers.h is delay(), SysTickTimer, and WatchDogTimer.

In addition, there seems to be no support for the Uno as a board in the makefile system. I'l see what I can figure out about the system, then get back to you with a PR for that. Or open another issue. We'll see.

Hi @KitLing,

I'll answer both this and the question in synthetos/g2#81:

This is the latest version of Motate, and has been recently updated after a hiatus. At the moment, G2 (the next generation of the TinyG firmware) is the primary consumer of the Motate framework, and so it drives the development time and testing of the framework. I'm currently in the process of changing G2 over to this latest version of Motate, which, as you noticed, requires quite a bit of directory restructuring.

The question of this issue: "AVR on Due, what gives?" Fair question, and my answer is simply that it has lagged behind. I'm not very happy with that either, and I will endeavor to get it caught up as quick as possible. I will also happily support anyone else willing to take a stab at it, and pull requests are always welcome.

Alright, good to know. Oh, some of the documentation currently in the G2 wiki might be useful in the motate wiki, at least some of the parts about porting.

I also have a start to the port to Uno in my branch, but I'm rapidly getting out of my depth. Like, for instance, what is the platform directory for? What needs to be peovided? What's missing?
For now, I'll use the older version, because it works. I do want to get it working, though...