EraGlonassMsdTable/Inc/EraGlonassMsdTable.h

42 lines
1.2 KiB
C

//
// Created by xemon on 21.11.22.
//
#ifndef UVEOS_ON_NATION_ERAGLONASSMSDTABLE_H
#define UVEOS_ON_NATION_ERAGLONASSMSDTABLE_H
#include "EraGlonassMsd.h"
#define ERA_GLONASS_MSD_TABLE_LENGTH 101
typedef struct {
uint16_t attemptsLeft;
tEraGlonassMsd msd;
} tEraGlonassMsdTableItem;
typedef struct {
tEraGlonassMsdTableItem items[ERA_GLONASS_MSD_TABLE_LENGTH];
} tEraGlonassMsdTable;
void EraGlonassMsdTable_Init(tEraGlonassMsdTable *env);
uint16_t EraGlonassMsdTable_GetSize();
uint16_t EraGlonassMsdTable_GetLastId(tEraGlonassMsdTable *env);
uint32_t EraGlonassMsdTable_GetNoSendDataCount(tEraGlonassMsdTable *env);
tEraGlonassMsdTableItem *EraGlonassMsdTable_GetNoSendData(tEraGlonassMsdTable *env, tEraGlonassMsdTableItem *prev);
tEraGlonassMsdTableItem *EraGlonassMsdTable_GetLastMsd(tEraGlonassMsdTable *env, tEraGlonassMsdTableItem *prev);
tEraGlonassMsdTableItem *EraGlonassMsdTable_GetNextUnsent(tEraGlonassMsdTable *env, tEraGlonassMsdTableItem *prev);
tEraGlonassMsdTableItem *EraGlonassMsdTable_GetNextFree(tEraGlonassMsdTable *env);
uint32_t EraGlonassMsdTable_GetCount(tEraGlonassMsdTable *env);
tEraGlonassMsdTableItem *EraGlonassMsdTable_GetById(tEraGlonassMsdTable *env, uint16_t id);
#endif //UVEOS_ON_NATION_ERAGLONASSMSDTABLE_H