I’m building a project based on the Orangutan SVP (ordered but not yet received) and, as I think it will become quite complex and multilayered, I’d like to base it on the freeRTOS system.
I’ve some experience using freeRTOS on the Arduino platform, so I expect that freeRTOS will work without too much issue. In fact there are several ports already available for the ATmega1284.
I’m planning to use the Orangutan SVP because 328p based platforms don’t have sufficient analogue inputs available. The SVP is a welcome upgrade.
As background, freeRTOS uses Timer1 for its “tick” function, also the “tick” function generates task swapping.
My questions are mainly around the use of the Pololu AVR Library with freeRTOS.
Are there any sections in the Library that depend on the use of Timer1? If so, is there any restriction (based on special option only available with Timer1) that would prevent recoding the Library to use either Timer0 or Timer2?
(I think that the answer is yes: OrangutanServos and OrangutanBuzzer. And no: just change them to Timer0. But, I just want to be sure I’m not missing anything).
Are there any sections in the Library that are not re-entrant? I mean, if any function was interrupted and swapped out during execution there would be a problem with re-starting the function properly?
I couldn’t find any reference to freeRTOS in this forum, so I was wondering whether there’s anyone who can speak of their experience in putting freeRTOS on to Orangutans?