There are a lot of forum posts about this but none that fits my usage.
- I am making another data logger.
- I can use FAT
- I can also use directly access (no file system) and use a special PC software to reads out the data.
- I use a ATmega168, to less RAM to fit most FAT drivers. I also need much of the RAM for my application.
- I sample to fast to be able to read and update the FAT system. I need to run on a pre-formated card.
- I need it to consume very little power.
If I use directly access, I need to write my own PC read software. This will take more time than I have. Anyone knows about any free code that does it? C# or java is prefered.
As the data are written in 512 blocks, I must have at least that size of my buffer or wasting some data space. An alternative is to hold the SD card open (chip select active) continously and only buffer data while it is writing the block. The obvious problem is power. How much current will the card consume if I hold the chip select active all the time?
If I use FAT, I need to find a driver that is small in FLASH and that is proper for use without having all of the FAT table in RAM but to work directly with the prerequisite that the card is formated. With this method I do not need to find a place for my files, I can just put them after each other.
Finally, if FAT is used, I need to update the FAT now and then or I will loose my file at power of.
I problem is that I am not familiar with FAT and do not know about the commands. If I do not find the information I need I plan to buy this from a company I worked with before. It's just that I would like to learn about this as it can be useful in the future.