I can’t program my board today…
It’s been a long time you didn’t hear some news from me, so I have a lot to tell you today! What’s happened since Wednesday? I finally finished my lab, I blew a fuse (not literally) during the challenge and I recovered the Force today with some BLE. Now, details!
I spent my whole Wednesday and Thursday trying to finish the lab. On Wednesday I finished to make the serial over USB driver work. Actually I had chosen the wrong example, that’s why I was not working the day before. Then I activated the debug options of ChibiOS and realized that my buzzer was not buzzing any more. A few fixes later, I began the last but not the least part of the lab: get a web page using HTTP (and therefore TCP/IP). It was hard and tough, but on Thursday 8:22PM, I was able to download the home page of the Télécom ParisTech website (this tremendous achievement was immediately added to my resume). It was now time to
leave for the party rest before the Friday challenge.
So I woke up in the mornin’ feelin’ like P-Diddy, and I discovered the first part of the challenge: retrieve the rest of the instructions on a web page. The good news was that I already had a working code able to do that. The bad news was that I decided (and don’t ask me why, I honestly have no idea) to plug the brand new JLink probe we just received on my board. Disaster ensues… It took me one hour to get my old good JTAG probe working. Then I could retrieve the instructions explaining that our next mission (and we had to accept it) would be to download a sound using HTTP (easy) and play it on earphones (sounds easy, it was not). I started to investigate the ChibiOS and the board documentations, and a few hours later, I had understood that: we needed to use I2S, ChibiOS already had a I2S driver, this driver was not working on our board, we had to write our own driver. So I did. In the end, my configuration was ok, but I stupidly had forgotten to edit my Makefile so that it used my new board configuration (I hated myself so much at that time !!). I also spent around one hour to fix an incomprehensible bug (I don’t want to talk about it, it still affects me a lot). Then I was able to play a 440Hz sine wave (it was 6:04PM). The next step was to play the downloaded sound (or more precisely: to stream it). Unfortunately I had to leave for a web meetup I was co-organizing. I came back after it but I was not brave enough to dive again in my code, so I helped Adele to finish the challenge.
Today, I finally had time to sleep, so I did! Then I fixed a few mistakes in the Git presentation (you know, the one with Jedi inside!).
I don’t know yet if I can publish it here, but if it’s possible, I’ll do it! Here it is: Git for Jedi
I also continued to work on the nRF51822 (my new best friend since I officially broke up with my STM32). My job was to run an example program on the board, which would advertise and do other fun things. The program was already written, but the tough part was to actually run it on the board. About this, I strongly recommend this GitHub which was extremely helpful. Tomorrow, I will try to write my own example program. And I will conclude with an amazing video I made proving the unlimited power
of the dark side of the BLE:
May the force be with you!