Hello, I am new to this forum and android, so apologies in advance for the mistakes I will most likely make.
I feel like I should explain the overview of what I am doing so you can tell me if I am approaching it wrong. I am embedding an arduino into a machine and having it create an event log. The arduino has either a wifi shield or an ethernet shield to connect to the internet. Both of these shields have a SD card. So pretty much the buffer comes in play in two ways. I need the buffer to manage data when uploading the log via internet connection, but also if the internet is down I want to use the SD card until the internet is restored. From there I want to be able to obviously upload the SD card data as well as any new data. I am thinking that I might just keep adding to the SD card until it is fully uploaded then go back to the ethernet. I also have never used buffer methods, but have done some research on circular buffers and FIFO. I don't fully understand them to the point where I can understand which would be the most effective for me.
If you guys could give me a couple ideas and/or point me in the right way to study up some more on buffers.
Just some notes, these events shouldn't be extremely frequent, but some might happen within the same second (up to around 5-10) and not have another error until possibly minutes or more later so I shouldn't be too worried about data layover due to interrupts or delays between ethernet/SD/arduino. The code in the arduino is going to be fairly complicated working with uploading information to the internet, so using less memory would be nice. I am working with a Uno, but have a Mega if need be.
Thanks in advance.
P.S. Also I was wondering if you guys new the read/writes of the arduino, SD, ethernet, and Wifi. I just want to know where I can possibly predict any bottlenecking. All the shields are also main brand arduino, not a third-party.