We have had bad luck for the past three days: we have first lost two days because of our (fused ?) microcontroller not responding anymore. After we confirmed this problem, Alexis soldered for us a brand new one. We have had just enough time to confirm our code so far works, before facing another material problem : a broken pin from our codec (we were wondering why despite all our efforts we couldn’t get a response from it). Once again Alexis fixed this, and we are ready to go!
While I couldn’t work on the microcontroller, I have thought a bit about a way to get localize our modules with “sound pings”: we enable both codecs in full-duplex mode, the first one emits a sound (fixed frequency, for example with the sine test available in the codec) while the other listens. As soon as he hears the sound, he repeats it to the first module. When the first module gets an answer, he checks the time and obtains a delay. This delay should be from something like 2*distance/sound_speed + T with T a constant covering the time to generate the first sound, then to detect it and generate an answer, and finally detect the answer. The problem is wether this T really is constant or not (I have searched for it in the datasheet but couldn’t find this kind of timings). I fear we might run short of time to try and implement this function, mainly because of the delay due to our material problems. I think if we can fix the codec soon enough then we should give it a try. Else, let’s focus on the main features we have thought of (we already are able to localize close distance – below one meter – with RSSI, which is already pretty cool).
Today, I was trying to determine wether we could transmit music with our zigbees reliably (will the bitrate be good enough when many MAESTROSEs are talking together in the mean time? Will we lose any data?), I couldn’t conclude yet because of some troubles I have using ChibiOS’s timers. I should fix that tomorrow though. In the meantime, Bertrand and Aurelien have diagnosized and then repaired (with Alexis’ help) our codec, and have begun implementing FRAM support.