| 125 | |
| 126 | |
| 127 | void FRAM_RINGBUFFER::save() |
| 128 | { |
| 129 | uint32_t pos = _start - 20; |
| 130 | if (not _saved) |
| 131 | { |
| 132 | uint32_t checksum = _size + _front + _tail + _count; |
| 133 | _fram->write32(pos + 0, _size ); |
| 134 | _fram->write32(pos + 4, _front); |
| 135 | _fram->write32(pos + 8, _tail ); |
| 136 | _fram->write32(pos + 12, _count); |
| 137 | _fram->write32(pos + 16, checksum); |
| 138 | _saved = true; |
| 139 | } |
| 140 | } |
| 141 | |
| 142 | |
| 143 | bool FRAM_RINGBUFFER::load() |