There’s a lot of ARMv7TDMI code out there that uses the asm startup that has been ported/uplifted to the Cortex-M cores. I really prefer the C startup code, because it’s easy to understand what’s going on, and, theoretically, at least, it’s portable among all the different Cortex-M cores out there (I guess).
It is so beautiful. It really works. I just have small problem with updating the module, but this (http://www.tinyclr.com/forum/topic?id=8626) solved my problem.
Thanks again for great drivers.
@ Makla - I am glad that this is working for you. If you have any issues please do not hesitate to let me know, but I must warn you that I will be traveling from Friday and will only be back on the 19th so please excuse me if I am not able to respond during that period.
Hi,
Is it possible with this firmware to configure the pins on the downstream socket ? I know it will break the daisylink protocol, but I don’t mind. For example, I want to plug a light sensor in the downstream socket and use the pin3 as an analoginput.
If it is currently not possible, how to modify the firmware to do so ?
Regards,
You would need to modify the DaisyLink code in the firmware to remove the handling and configuration of the downstream pin. Once this dependency has been removed you will need to add to the existing code that handles the analog pin configuration to support pin 1.2 which is the pin wire to the socket pin 3 on th downstream socket. Finally you will need to add support to configure the pin from the managed driver, this should be a matter of adding an entry to the enum for selecting the analog pin.
Sorry for not being able to provide a more detailed answer as I am currently travelling so I do not have the code etc. in front of me.
@ taylorza - busy at work i see
@ Justin - iPad and hotel wifi… :), was hoping to get a Microsoft surface here in Malaysia, but seems they are not available.
@ taylorza -
Thanks you very much for your answer. Unfortunately, as I understand the outlines of the three step process (remove downstream handling and config, add the analog pin conf to the pin, and add it to the num in the managed code), I just realized that poking my way through the firmware code is a little over my head for the moment.
Regards,
The more I look at it, the less diverting downstream socket like I proposed appears a good idea : if I am correct, it breaks the possibility to program the firmware from mainboard too.
Perhaps if we could do something like an on-the-fly activated option from the managed code, it would be a generic way to “morph” the downstream socket at will. Otherwise it seems to me to be an extremely convoluted way to avoid some wiring/soldering from a breakout/extender module.
Hi, I alos tink Andre.m have good point. You have at least 5 analog pins on DL40, without braking daisylink.
@ andre.m - I’m short of an analog input on my cerberus mainboard (for a light sensor module), whose sockets are all populated. I’m using a dl40 for two digital input port with interrupt capability, thanks to the dl40io firmware, and as I don’t use the downstream socket of the dl40, I wanted to know if I could reconfigure it to plug my light sensor directly to it.
@ andre.m - No, that’s not the question, I have plenty enough analog port on the dl40, I just wanted to know if a software trick by managed code and/or firmware may spare me the wiring/soldering of a light sensor module to the dl40 by plugging it directly to the downstream socket (as I don’t have any A sockets free on the mainboard). It’s a “let’s-be-lazy” sort of a question, nothing more
@ Fradav, ok, I understand you now. Maybe I can check this out for you, but I can’t promise you when
I’m not sure to understand the daisylink protocol : could one chain link daisylink modules of different types ? is it ok to chain link other modules like smart multicolor leds to dl40 with I/O firmware ?
The IO firmware extends on the original dailylink firmware, so it’s still able to behave like a real daisylink module. .
@ Fradav, yes it works, I already tested that.
@ Fradav: I have custom made DL40IO Firmware and gadgeteer driver. You can download it here http://we.tl/8QLVFdLMbj. It is all compiled and ready to use.
So if you want to use gadgeteer pin 3 on DL40 uplink socket, you have to use
IAnalogInputPin AD1 = module.CreateAnalogInputPin(AnalogInputPinId.PIO1_2);
double proc1 = AD1.Read();
But be carefull. Pin 1.2 have 10k pullup resistor. I tested on my POT and it workd without problems, but don’t know if this pull up can affect the measurement.
@ jernejk - Thanks you very much I will test this ASAP.
Also, I’d like to see the sources as it could be useful to learn how it is done.
Fradav, you are welcome. You can get sources in a Fradav branch on codeplex (http://dl40io.codeplex.com/SourceControl/changeset/view/25386)
It works, thanks !!!
Now for another round … I’ve read we can have rs485 signal straight from the LPC11x chip. If I understand correctly, the usart pins are already taken by the I2C downstream pins ?
http://www.nxp.com/documents/user_manual/UM10398.pdf ← is the correct documentation for the chip ?