- Fri Dec 25, 2020 2:44 pm
#47283
If you have a teensy with sdcard logger can you please log the time all writes take? I am curious if the teensy already does something clever or that it has the same sporadic long write times.
moonie223 wrote: ↑Thu Dec 24, 2020 1:21 am Why not broadcast all the live data over canbus, then it can be displayed and even logged by an external device with much looser timing requirements. Plus, if it's over canbus you could install the SD card in an easier to access location too.As mentioned before, all true. But needs extra hardware and that was not the point. The extra hardware does not mind that once every 10 or 100 seconds it runs for 100ms vs 2ms. That is only problematic inside the speeduino firmware. The hardware for sdcard is already on the board. So hoped to use that instead of using a separate hardware design + separate TS interface to configure it? Or some other interface?
moonie223 wrote: ↑Thu Dec 24, 2020 1:21 am If you are going through the trouble of making the filesystem and individual files (yes!) then it makes sense to be able to swap the card. Otherwise, you may as well do as Psi recommends and just save to flash and download/convert at that time.Well getting TS to get the data transmitted to the computer with the ms3 interface is not documented (as far as i know). So its not really easy to implement. If you have some docs please share! Making the file system approach + swap able sd seemed easy enough, until the 2 problems. I am still contemplating converting the system to DMA or interrupt based. But lots of work. And not enough time to work on it.
Or, both!
moonie223 wrote: ↑Thu Dec 24, 2020 1:21 am As for data, I think MS3 logs something like 512bytes at up to 100hz. That already has some limitations, and it'd be nice to avoid that. So, figure 25kb/s and 1Mb is looking pretty dang tiny. Personally, writing a larger buffer more often works best on a teensy for me. I think I am writing 2K chunks of all 512 MS3 canbus broadast channels at 100Hz, I forget but I think it's like 1.4K per broadcast? Seems to work pretty damn good, I do not use MS3's SD logger any more, because it's a buggy mess.It could run 2 Mbyte/s average easy even without DMA. With DMA and biger chuncks to the sdcard it should do more depending on the speed of the sdcard. The issue is not the data rate, it really only is the inconsistent long delay that sometimes happens to the write command. That delay is not allowed by the current speeduino firmware design (stopping the main loop for that amount of time). I tried a Buffer as big as 30K, writing chunks of 4K. Does not matter it all works, but the blocking delay of a single write takes >100ms at some point. Only changing the system to be able to stop/pauze the transfer and continue later works to use it inside the speeduino firmware. Separate threads would be really nice here . But for that we need to run an RTOS etc. All also complicated stuff .
If you have a teensy with sdcard logger can you please log the time all writes take? I am curious if the teensy already does something clever or that it has the same sporadic long write times.