Hi, I agree, the code I wrote was made with simplicity and readability in mind, not efficiency. It's kind of a beginners style, It makes it easier for debugging and finding problems. Once I'm sure everything is working fine I might change some parts to those magical one liners, so far I haven't had any constraint problems. I like Pekka's initalization routine, it's creative, efficient and easy to understand. I completed the ethernet driver now, it can send and receive packets now. The errata workarounds were incorporated, the problem was that I was sending the wrong read buffer memory opcode (silly mistake). I also integrated freertos and will proceed to do some testing. I'm afraid I can only work on weekends until I return to Finland. -Jose Granados MSc Student. Embedded Computing University of Turku ________________________________________ De: ell-i-developers-bounce@xxxxxxxxxxxxx [ell-i-developers-bounce@xxxxxxxxxxxxx] en nombre de Pekka Nikander [pekka.nikander@xxxxxx] Enviado: sábado, 22 de febrero de 2014 07:27 p.m. Para: ell-i-developers@xxxxxxxxxxxxx Asunto: [ell-i-developers] Re: Progress Hi Jose, > 1. ENC28J60 SPI driver (done) I kind-of like your SPI interface, it is quite nice. However, as you may guess, while your coding style is beautiful, I don't like the implementation, as it is completely imperative and generates bulky code, while we are leaning towards a declarative approach and clearly smaller generated code at the current ELL-i runtime. Ivan, I think it is worth your time to have a look at Jose's implementation as well, just to see the difference in coding style if nothing else. In a certain way, his handwriting is more beautiful than mine. If we didn't have the strict space constraints, I might prefer such a clean, simple, and nice approach. > 2. Ethernet driver (almost done) Have you made sure that you have read the ENC28J60 errata? That is quite important. --Pekka