123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #include "at32f403a_407.h"
- #include "log_dio.h"
- #include "settings_api.h"
- #if defined (MDIO_88)
- uint32_t archive_cnt[ARCH_DIO_CH_NUMBER] = {0};
- struct ringfs fs_ch_arch[ARCH_DIO_CH_NUMBER];
- static struct ringfs_flash_partition fingfs_flash_ch_arch[ARCH_CH_NUMBER] =
- {
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*1,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*2,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*3,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*4,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*5,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*6,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- {
- .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*7,
- .sector_erase = op_sector_erase,
- .program = op_program,
- .read = op_read,
- },
- };
- #undef DBG
- #define DBG if(1)
- // Архив. 8 буферов на каждый канал.
- void log_dio_archive_init(void)
- {
- for (uint8_t i = 0; i < ARCH_DIO_CH_NUMBER; i ++)
- {
- fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
-
- fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
-
- ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i],
- ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
-
- if (ringfs_scan(&fs_ch_arch[i]) != 0) {
- DBG printf("FAT for channel %u is false\r\n", i + 1);
- ringfs_format(&fs_ch_arch[i]);
- }
- DBG printf("FAT for channel %u is true\r\n", i + 1);
- }
- }
-
-
- //
- uint8_t log_get_arch_channel_number(void)
- {
- return (uint8_t)ARCH_DIO_CH_NUMBER;
- }
- #endif
|