42 lines
1.2 KiB
C
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
|