Thanks for the answers. For sure it is possible to buy an ATmega and even a full-featured debugger would be acceptable compared to the effort of porting. But still, I am very biased towards the PIC without logical or economical arguments.
I did not yet work with the mysensors libraries and only browsed quickly through the github repo. Maybe someone can give me a few hints to estimate the effort deeper than just claiming it as "much workload"?
What I see so far is:
make the C++ code compile (translate to C with clang/llvm and compile with the XC8 compiler)
create a new HAL (in hal/architecture) which seems not too much effort for making it initially working
Questions:
Do I see it right, that there is a linux-port available? -> I would expect much more effort to port from AVR to linux than to port it to a different MCU
What about the licensing? It looks like the code is GPLv2, but in the CLA it seem that contributors need to give away their rights on the contributions and that mysensors can even redistribute the code under another license - which seems completely against the principles of the GPL. Can someone explain that in more detail?
I didn't think the voltage drop would make enough of a difference to notice, but i guess it does. I might have to research and look for a more efficient Mosfet.
@krisztian
Hi krisztian,
the singleLED board - as its name suggests - features only one LED output. If you want to have a setup with multiple LED strips you need to design a board with multiple outputs. I have already designed a board with 4 outputs, but I haven't built it.
In terms of software you need to register multiple sensors in your program like this:
#define numCh 4 //the number of outputs
const byte ledPins[] = {9,6,5,3};
byte ledLevel[numCh];
boolean ledDimWay[numCh];
//in the setup function request the dim levels from the gateway
for(byte i=0; i<numCh; i++) request(i, V_DIMMER);
//in the presentation function register multiple lights
for(byte i=0; i<numCh; i++) present(i, S_DIMMER);
//if you receive a signal, you need to check for the sensor id
setLED(message.sensor, requestedLevel);
//to set the LED level (function: setLED) you need to use the sensor id to determine brightness and pin
//Fade LED to set level
int delta = (level - ledLevel[child]) < 0 ? -1 : 1;
//Write to LED
analogWrite(ledPins[child], map(ledLevel[child],0,100,0,255));
I will probably publish the whole code once I have built and tested the 4LED controller (i call it "MySensors rainbowLED")
Hope I could help you
ThetaDev
@victus Im not familiar with this components you mention, you need to test yourself, cant help you with the technical stuff.
It does not seem to be a fully functional ECG but a heart rate monitor. As epierre said above, you need to define if you want to monitor or have a fully functional ECG, its a big difference. With a monitor all you get is pretty much your heartrate and you can detect arytmias. A fully working ECG is normally made with 12 leads and is used to in detail know how the electrical depolarisation from different time and direction/place within the heart muscle works. Holter is a example of a heart rate monitor over time.