Skip to content

Commit 06c258b

Browse files
author
eduazocar
committed
firmware/sys/shell_extended: Adding storage network modules default params
1 parent 1bef075 commit 06c258b

8 files changed

Lines changed: 93 additions & 76 deletions

File tree

firmware/default_params.h

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* @file
2121
* @name Defaults params for the m4a firmware
2222
* @author xkevin190 <kevinvelasco193@gmail.com>
23+
* @author eduazocar <eduardoazocar7@gmail.com>
2324
*/
2425

2526
#ifndef DEFAULT_PARAMS_H
@@ -52,18 +53,45 @@ typedef struct {
5253
uint8_t pin : 6; /*!< Input pin -> Max pin 63*/
5354
} sensors_t;
5455

56+
#if ((MODULE_RPL_PROTOCOL) || (DOXYGEN))
57+
/**
58+
* @brief Data type to all network elements, here will saved protocols.
59+
*
60+
*/
61+
typedef struct {
62+
uint8_t mode : 1; /*!< Routing protocol rpl modes (DAG or DODAG)*/
63+
uint8_t : 7; /*!< Reserved bits */
64+
uint8_t id; /*!< Rpl instance id */
65+
} rpl_settings_t;
66+
#endif
67+
68+
typedef struct {
69+
uint8_t routing; /*!< Routing Protocol in use*/
70+
#ifdef MODULE_RPL_PROTOCOL
71+
rpl_settings_t rpl;
72+
#endif
73+
#ifdef MODULE_BORDER_ROUTER
74+
uint8_t br_status : 1;
75+
uint8_t : 7;
76+
#endif
77+
#ifdef MODULE_UNIQUEID
78+
uint8_t uidmode : 1;
79+
uint8_t : 7;
80+
#endif
81+
} settings_net_t;
82+
5583
/**
5684
* @brief struct to save interface data settings.
5785
*/
5886
typedef struct {
59-
uint8_t id;
60-
uint8_t type;
87+
uint8_t id; /*!< Iface id*/
88+
uint8_t type; /*!< Type of interface */
6189
uint16_t channel; /*!< Channel of the radio */
6290
int16_t tx_power; /*!< The transmit power from a radio interface*/
63-
uint16_t freq;
91+
uint16_t freq; /*!< Frequency of radio interface */
6492
} settings_ifaces_t;
6593

66-
#define IF_KEY (uint8_t*)("IFKEY")
94+
#define IF_KEY ("IFKEY")
6795

6896
/**
6997
* @name storage address this address will be the storage keys

firmware/sys/shell_extended/se_storage.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ int storage_cmd(int argc, char **argv) {
4949
return 0;
5050
}
5151
if (strcmp(argv[1], "save") == 0) {
52+
/*ToDo: Create a group of options to manage network params*/
5253
stg_save_if_settings();
5354
} else if (strcmp(argv[1], "load") == 0) {
55+
/*ToDo: Create a group of options to manage network params*/
5456
stg_load_if_settings();
5557
} else if (strcmp(argv[1], "show") == 0) {
58+
/*ToDo: Create a group of options to manage network params*/
5659
puts("Todo: show all firmware params saved in mtd storage");
5760
} else if (strcmp(argv[1], "del") == 0) {
61+
/*ToDo: Create a group of options to manage network params*/
5862
stg_del_if_settings();
5963
}
6064
return 0;

firmware/sys/storage/include/storage.h

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,10 @@ extern "C" {
4444
int8_t mtd_start(void);
4545

4646
/**
47-
* @brief Saves any value in any position of mtd_storage.
47+
* @brief removes all content in the mtd_Storage
4848
*
49-
* @param [in] value Any type of value.
50-
* @param [in] len size of @p value that will be saved.
51-
* @param [in] offset reference to an position in mtd_storage.
5249
* @return int8_t
5350
*/
54-
int mtd_save(const void *value, uint32_t len, uint32_t offset);
55-
56-
/**
57-
* @brief Loads any value in any position of mtd_storage.
58-
*
59-
* @param [out] value Any type of value.
60-
* @param [in] len size of @p value that will be loaded.
61-
* @param [in] offset reference to an position in mtd_storage.
62-
* @return int8_t
63-
*/
64-
int mtd_load(void *value, uint16_t len, uint32_t offset);
65-
6651
int8_t mtd_erase_all(void);
6752

6853
/**
@@ -93,47 +78,47 @@ int8_t mtd_dump_flashpage(uint16_t page);
9378
* @param [in] key An unique identifier string for the uint8_t data @p value.
9479
* @return int
9580
*/
96-
int mtd_put_u8(const uint8_t value, const uint8_t *key);
81+
int mtd_put_u8(const uint8_t value, const char *key);
9782
/**
9883
* @brief Saves an unsigned int 16 bits data type in the mtd_storage.
9984
*
10085
* @param [in] value uint16_t data.
10186
* @param [in] key An unique identifier string for the uint16_t data @p value.
10287
* @return int
10388
*/
104-
int mtd_put_u16(const uint16_t value, const uint8_t *key);
89+
int mtd_put_u16(const uint16_t value, const char *key);
10590
/**
10691
* @brief Saves an unsigned int 32 bits data type in the mtd_storage.
10792
*
10893
* @param [in] value uint32_t data.
10994
* @param [in] key An unique identifier string for the uint32_t data @p value.
11095
* @return int
11196
*/
112-
int mtd_put_u32(const uint32_t value, const uint8_t *key);
97+
int mtd_put_u32(const uint32_t value, const char *key);
11398
/**
11499
* @brief Load an unsigned int 8 bits data type in the mtd_storage
115100
*
116101
* @param [out] value uint8_t data variable that will load the value from mtd_storage
117102
* @param [in] key An unique identifier string for the uint8_t data @p value.
118103
* @return int
119104
*/
120-
int mtd_get_u8(uint8_t *value, const uint8_t *key);
105+
int mtd_get_u8(uint8_t *value, const char *key);
121106
/**
122107
* @brief Load an unsigned int 16 bits data type in the mtd_storage
123108
*
124109
* @param [out] value uint16_t data variable that will load the value from mtd_storage
125110
* @param [in] key An unique identifier string for the uint16_t data @p value.
126111
* @return int
127112
*/
128-
int mtd_get_u16(uint16_t *value, const uint8_t *key);
113+
int mtd_get_u16(uint16_t *value, const char *key);
129114
/**
130115
* @brief Load an unsigned int 32 bits data type in the mtd_storage
131116
*
132117
* @param [out] value uint32_t data variable that will load the value from mtd_storage
133118
* @param [in] key An unique identifier string for the uint32_t data @p value.
134119
* @return int
135120
*/
136-
int mtd_get_u32(uint32_t *value, const uint8_t *key);
121+
int mtd_get_u32(uint32_t *value, const char *key);
137122

138123
/* Int put/set operations */
139124

@@ -144,47 +129,47 @@ int mtd_get_u32(uint32_t *value, const uint8_t *key);
144129
* @param [in] key An unique identifier string for the int8_t data @p value.
145130
* @return int
146131
*/
147-
int mtd_put_i8(const int8_t value, const uint8_t *key);
132+
int mtd_put_i8(const int8_t value, const char *key);
148133
/**
149134
* @brief Saves an signed int 16 bits data type in the mtd_storage.
150135
*
151136
* @param [in] value uint16_t data.
152137
* @param [in] key An unique identifier string for the uint16_t data @p value.
153138
* @return int
154139
*/
155-
int mtd_put_i16(const int16_t value, const uint8_t *key);
140+
int mtd_put_i16(const int16_t value, const char *key);
156141
/**
157142
* @brief Saves an signed int 32 bits data type in the mtd_storage.
158143
*
159144
* @param [in] value uint32_t data.
160145
* @param [in] key An unique identifier string for the uint32_t data @p value.
161146
* @return int
162147
*/
163-
int mtd_put_i32(const int32_t value, const uint8_t *key);
148+
int mtd_put_i32(const int32_t value, const char *key);
164149
/**
165150
* @brief Load an signed int 8 bits data type in the mtd_storage
166151
*
167152
* @param [out] value int8_t data variable that will load the value from mtd_storage
168153
* @param [in] key An unique identifier string for the int8_t data @p value.
169154
* @return int
170155
*/
171-
int mtd_get_i8(int8_t *value, const uint8_t *key);
156+
int mtd_get_i8(int8_t *value, const char *key);
172157
/**
173158
* @brief Load an unsigned int 16 bits data type in the mtd_storage
174159
*
175160
* @param [out] value int16_t data variable that will load the value from mtd_storage
176161
* @param [in] key An unique identifier string for the int16_t data @p value.
177162
* @return int
178163
*/
179-
int mtd_get_i16(int16_t *value, const uint8_t *key);
164+
int mtd_get_i16(int16_t *value, const char *key);
180165
/**
181166
* @brief Load an unsigned int 32 bits data type in the mtd_storage
182167
*
183168
* @param [out] value uint32_t data variable that will load the value from mtd_storage
184169
* @param [in] key An unique identifier string for the uint32_t data @p value.
185170
* @return int
186171
*/
187-
int mtd_get_i32(int32_t *value, const uint8_t *key);
172+
int mtd_get_i32(int32_t *value, const char *key);
188173

189174
/* String put/set operations */
190175

@@ -197,7 +182,7 @@ int mtd_get_i32(int32_t *value, const uint8_t *key);
197182
* @param [in] len size of @p value string.
198183
* @return int
199184
*/
200-
int mtd_put_str(const char *value, const uint8_t *key, uint8_t len);
185+
int mtd_put_str(const char *value, const char *key, uint8_t len);
201186
/**
202187
* @brief Loads a string using its identifier.
203188
*
@@ -206,7 +191,7 @@ int mtd_put_str(const char *value, const uint8_t *key, uint8_t len);
206191
* @param [in] len size of @p value string.
207192
* @return int
208193
*/
209-
int mtd_get_str(char *value, const uint8_t *key, uint8_t len);
194+
int mtd_get_str(char *value, const char *key, uint8_t len);
210195

211196
#ifdef __cplusplus
212197
}

firmware/sys/storage/include/storage_register.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ extern "C" {
3737
#define RWP_WRITE_BITMASK (0x80) /*!< Read/Write protection bit mask to set Writeable register*/
3838
#define RWP_READ_BITMASK (0x00) /*!< Read/Write protection bit mask to set only-read register*/
3939
typedef struct {
40-
uint16_t size;
41-
uint8_t key[25];
42-
uint8_t rwp;
43-
uint32_t ptr_content;
40+
uint16_t size; /*!< saved data size*/
41+
char key[25]; /*!< name or identifier assigned a register where there is a saved dara */
42+
uint8_t rwp; /*!< Read and write protection bit */
43+
uint32_t ptr_content; /*!< pointer to the content of a register */
4444
} mtd_register_t;
4545

4646
#define MTD_REG_IDX_NUMOF \
@@ -55,7 +55,7 @@ typedef struct {
5555
* @param [in] len size of @p value that will be saved.
5656
* @return int8_t
5757
*/
58-
int mtd_save_reg(const void *value, const uint8_t *key, uint16_t len);
58+
int mtd_save_reg(const void *value, const char *key, uint16_t len);
5959

6060
/**
6161
* @brief Load data from mtd_storage localizating with its knew key and saves in @p value the data.
@@ -68,7 +68,7 @@ int mtd_save_reg(const void *value, const uint8_t *key, uint16_t len);
6868
* value parameter.
6969
* @return int8_t
7070
*/
71-
int mtd_load_reg(void *value, const uint8_t *key, uint16_t len);
71+
int mtd_load_reg(void *value, const char *key, uint16_t len);
7272

7373
/**
7474
* @brief Removes all saved data in mtd_storage. This will erase all until the
@@ -80,7 +80,7 @@ int mtd_load_reg(void *value, const uint8_t *key, uint16_t len);
8080
* @retval 0 Erased data success
8181
* @retval -1 Erased Fail.
8282
*/
83-
int8_t mtd_reg_del(uint8_t *key, uint16_t size);
83+
int8_t mtd_reg_del(char *key, uint16_t size);
8484

8585
/**
8686
* @brief

firmware/sys/storage/storage.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,59 +52,59 @@ int8_t mtd_start(void) {
5252
return ret;
5353
}
5454

55-
int mtd_put_u8(const uint8_t value, const uint8_t *key) {
55+
int mtd_put_u8(const uint8_t value, const char *key) {
5656
return mtd_save_reg(&value, key, sizeof(uint8_t));
5757
}
5858

59-
int mtd_put_u16(const uint16_t value, const uint8_t *key) {
59+
int mtd_put_u16(const uint16_t value, const char *key) {
6060
return mtd_save_reg(&value, key, sizeof(uint16_t));
6161
}
6262

63-
int mtd_put_u32(const uint32_t value, const uint8_t *key) {
63+
int mtd_put_u32(const uint32_t value, const char *key) {
6464
return mtd_save_reg(&value, key, sizeof(uint32_t));
6565
}
6666

67-
int mtd_get_u8(uint8_t *value, const uint8_t *key) {
67+
int mtd_get_u8(uint8_t *value, const char *key) {
6868
return mtd_load_reg(value, key, sizeof(uint8_t));
6969
}
7070

71-
int mtd_get_u16(uint16_t *value, const uint8_t *key) {
71+
int mtd_get_u16(uint16_t *value, const char *key) {
7272
return mtd_load_reg(value, key, sizeof(uint16_t));
7373
}
7474

75-
int mtd_get_u32(uint32_t *value, const uint8_t *key) {
75+
int mtd_get_u32(uint32_t *value, const char *key) {
7676
return mtd_load_reg(value, key, sizeof(uint32_t));
7777
}
7878

79-
int mtd_put_i8(const int8_t value, const uint8_t *key) {
79+
int mtd_put_i8(const int8_t value, const char *key) {
8080
return mtd_save_reg(&value, key, sizeof(int8_t));
8181
}
8282

83-
int mtd_put_i16(const int16_t value, const uint8_t *key) {
83+
int mtd_put_i16(const int16_t value, const char *key) {
8484
return mtd_save_reg(&value, key, sizeof(int16_t));
8585
}
8686

87-
int mtd_put_i32(const int32_t value, const uint8_t *key) {
87+
int mtd_put_i32(const int32_t value, const char *key) {
8888
return mtd_save_reg(&value, key, sizeof(int32_t));
8989
}
9090

91-
int mtd_get_i8(int8_t *value, const uint8_t *key) {
91+
int mtd_get_i8(int8_t *value, const char *key) {
9292
return mtd_load_reg(value, key, sizeof(int8_t));
9393
}
9494

95-
int mtd_get_i16(int16_t *value, const uint8_t *key) {
95+
int mtd_get_i16(int16_t *value, const char *key) {
9696
return mtd_load_reg(value, key, sizeof(int16_t));
9797
}
9898

99-
int mtd_get_i32(int32_t *value, const uint8_t *key) {
99+
int mtd_get_i32(int32_t *value, const char *key) {
100100
return mtd_load_reg(value, key, sizeof(int32_t));
101101
}
102102

103-
int mtd_put_str(const char *value, const uint8_t *key, uint8_t len) {
103+
int mtd_put_str(const char *value, const char *key, uint8_t len) {
104104
return mtd_save_reg(value, key, len);
105105
}
106106

107-
int mtd_get_str(char *value, const uint8_t *key, uint8_t len) {
107+
int mtd_get_str(char *value, const char *key, uint8_t len) {
108108
return mtd_load_reg(value, key, len);
109109
}
110110

firmware/sys/storage/storage_internal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ int8_t mtd_dump(void) {
130130
uint32_t addr = MTD_START_ADDR;
131131
uint32_t erased_data = 0;
132132
for (uint32_t i = 0; i < MAX_SIZE_STORAGE / dev->write_size; i++) {
133-
printf("0x%" PRIX32 " : ", addr);
133+
DEBUG("0x%" PRIX32 " : ", addr);
134134
mtd_read_block(value, addr, dev->write_size, 0);
135135
for (uint8_t j = 0; j < dev->write_size; j++) {
136136
DEBUG("%02X ", value[j]);

firmware/sys/storage/storage_register.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ int mtd_clear_all_regs(void) {
7474
return 0;
7575
}
7676

77-
int mtd_save_reg(const void *value, const uint8_t *key, uint16_t len) {
77+
int mtd_save_reg(const void *value, const char *key, uint16_t len) {
7878
mtd_register_t buff, mtd_reg = {.size = len};
7979
memcpy(mtd_reg.key, key, sizeof(mtd_reg.key));
8080
mtd_reg.rwp = 0xFF & RWP_READ_BITMASK;
@@ -122,7 +122,7 @@ int mtd_save_reg(const void *value, const uint8_t *key, uint16_t len) {
122122
return -1;
123123
}
124124

125-
int mtd_load_reg(void *value, const uint8_t *key, uint16_t len) {
125+
int mtd_load_reg(void *value, const char *key, uint16_t len) {
126126
mtd_register_t buff, mtd_reg = {.size = len};
127127
memcpy(mtd_reg.key, key, sizeof(mtd_reg.key));
128128
uint8_t reg_count = 0;
@@ -181,7 +181,7 @@ int8_t mtd_available_idx(uint8_t *idx, uint8_t *count) {
181181
return 0;
182182
}
183183

184-
int8_t mtd_reg_del(uint8_t *key, uint16_t size) {
184+
int8_t mtd_reg_del(char *key, uint16_t size) {
185185
mtd_register_t regs[MTD_REG_IDX_NUMOF], reg = {.size = size};
186186
memcpy(reg.key, key, sizeof(reg.key));
187187
uint8_t *content[MTD_REG_IDX_NUMOF];

0 commit comments

Comments
 (0)