Hi everyone,
First of all, a praise to your work! I just decided that a AVR-based platform
is no sufficient for my project and upgraded to an stm32-discovery board. All I
needed to modify in my application was a few Pin and device settings (about 5
lines). Thats it, the same application runs on a completely diffferent
platform. Awesome!
To my question:
I'm working on an Ambilight clone (I already submitted a driver for my PWM
devices). The device is connected via UART to a PC. Boblight runs on the PC
and sends colors via a certian protocol over UART. I'm using a very basic
protocol in the moment but would like to implement sanother one (LTBL). I
would like to contribute the protocol Implementation, maybe it's of use for
someone. So my question is: What would be the xpcc way of implementing a
protocol on top of UART?
Currently I'm using a protothread that reads a data stream from uart and
parses it token by token. However, I'm think more of something similar to a
driver.
Cheers
Christian
Hi,
This project looks great.
One question:
Niklas said:
>>
We also have an extensive concept for cooperative, stackless
multitasking, based on Dunkels Protothreads [19], which we expanded on
with Resumable Functions [20] which are used in all device drivers to
make communication non-blocking and allow multiple device drivers on
the same bus to safely access it.
This form of multithreading is very resource friendly since it does
not require context switches and only the main call stack (literally 2
bytes of RAM per Protothread).
However, this is quite an advanced topic and there are disadvantages
to this approach compared to a full real-time operating system (power
efficiency, hard real-time), such as mbed os or riot-os, however, they
do not necessarily work well on AVRs.
>>
Could you please expand on the disadvantages to power-efficiency or
hard real-time ? And how bad are those ?
Thanks,
Alex