[settings] void pointer to PersistentSettings struct instead of uint32_t

This commit is contained in:
Felix Ruess
2015-02-14 18:37:48 +01:00
parent 429ae81574
commit f56def36d2
6 changed files with 18 additions and 18 deletions
@@ -34,7 +34,7 @@
#define PERSISTENT_SETTINGS_FILE "pprz_persistent_settings.binary"
#endif
int32_t persistent_write(uint32_t ptr, uint32_t size)
int32_t persistent_write(void *ptr, uint32_t size)
{
FILE *file= fopen(PERSISTENT_SETTINGS_FILE, "wb");
if (file != NULL) {
@@ -46,7 +46,7 @@ int32_t persistent_write(uint32_t ptr, uint32_t size)
return -1;
}
int32_t persistent_read(uint32_t ptr, uint32_t size)
int32_t persistent_read(void *ptr, uint32_t size)
{
FILE *file= fopen(PERSISTENT_SETTINGS_FILE, "rb");
if (file != NULL) {
@@ -245,7 +245,7 @@ static int32_t pflash_program_bytes(FlashInfo *flash,
return 0;
}
int32_t persistent_write(uint32_t ptr, uint32_t size)
int32_t persistent_write(void *ptr, uint32_t size)
{
FlashInfo flash_info;
@@ -253,12 +253,12 @@ int32_t persistent_write(uint32_t ptr, uint32_t size)
if ((size > flash_info.page_size - FSIZ) || (size == 0)) { return -2; }
return pflash_program_bytes(&flash_info,
ptr,
(uint32_t)ptr,
size,
pflash_checksum(ptr, size));
pflash_checksum((uint32_t)ptr, size));
}
int32_t persistent_read(uint32_t ptr, uint32_t size)
int32_t persistent_read(void *ptr, uint32_t size)
{
FlashInfo flash;
uint32_t i;
@@ -276,7 +276,7 @@ int32_t persistent_read(uint32_t ptr, uint32_t size)
/* copy data */
for (i = 0; i < size; i++) {
*(uint8_t *)(ptr + i) = *(uint8_t *)(flash.addr + i);
*(uint8_t *)((uint32_t)ptr + i) = *(uint8_t *)(flash.addr + i);
}
return 0;
@@ -28,12 +28,12 @@
#include "subsystems/settings.h"
int32_t persistent_write(uint32_t ptr UNUSED, uint32_t size UNUSED)
int32_t persistent_write(void *ptr UNUSED, uint32_t size UNUSED)
{
return -1;
}
int32_t persistent_read(uint32_t ptr UNUSED, uint32_t size UNUSED)
int32_t persistent_read(void *ptr UNUSED, uint32_t size UNUSED)
{
return -1;
}
@@ -247,19 +247,19 @@ static int32_t pflash_program_bytes(struct FlashInfo *flash __attribute__((unuse
#endif
int32_t persistent_write(uint32_t ptr, uint32_t size)
int32_t persistent_write(void *ptr, uint32_t size)
{
struct FlashInfo flash_info;
if (flash_detect(&flash_info)) { return -1; }
if ((size > flash_info.page_size - FSIZ) || (size == 0)) { return -2; }
return pflash_program_bytes(&flash_info,
ptr,
(uint32_t)ptr,
size,
pflash_checksum(ptr, size));
pflash_checksum((uint32_t)ptr, size));
}
int32_t persistent_read(uint32_t ptr, uint32_t size)
int32_t persistent_read(void *ptr, uint32_t size)
{
struct FlashInfo flash;
uint32_t i;
@@ -277,7 +277,7 @@ int32_t persistent_read(uint32_t ptr, uint32_t size)
/* copy data */
for (i = 0; i < size; i++) {
*(uint8_t *)(ptr + i) = *(uint8_t *)(flash.addr + i);
*(uint8_t *)((uint32_t)ptr + i) = *(uint8_t *)(flash.addr + i);
}
return 0;
+2 -2
View File
@@ -41,7 +41,7 @@ bool_t settings_store_flag;
void settings_init(void)
{
#if USE_PERSISTENT_SETTINGS
if (persistent_read((uint32_t)&pers_settings, sizeof(struct PersistentSettings))) {
if (persistent_read((void *)&pers_settings, sizeof(struct PersistentSettings))) {
return; // return -1 ?
}
/* from generated/settings.h */
@@ -58,7 +58,7 @@ int32_t settings_store(void)
if (settings_store_flag) {
/* from generated/settings.h */
persistent_settings_store();
if (!persistent_write((uint32_t)&pers_settings, sizeof(struct PersistentSettings))) {
if (!persistent_write((void *)&pers_settings, sizeof(struct PersistentSettings))) {
/* persistent write was successful */
settings_store_flag = TRUE;
return 0;
+2 -2
View File
@@ -38,8 +38,8 @@ extern bool_t settings_store_flag;
#define settings_StoreSettings(_v) { settings_store_flag = _v; settings_store(); }
/* implemented in arch dependant code */
int32_t persistent_write(uint32_t ptr, uint32_t size);
int32_t persistent_read(uint32_t ptr, uint32_t size);
int32_t persistent_write(void *ptr, uint32_t size);
int32_t persistent_read(void *ptr, uint32_t size);
#endif /* SUBSYSTEMS_SETTINGS_H */