Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
src/xml_data.c@0:ccdea31d8eba, 2019-08-23 (annotated)
- Committer:
- gawas
- Date:
- Fri Aug 23 16:43:44 2019 +0000
- Revision:
- 0:ccdea31d8eba
init funtion;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| gawas | 0:ccdea31d8eba | 1 | #include <stdint.h> |
| gawas | 0:ccdea31d8eba | 2 | |
| gawas | 0:ccdea31d8eba | 3 | #include "xml_data.h" |
| gawas | 0:ccdea31d8eba | 4 | #include "kernel/circular_buffer.h" |
| gawas | 0:ccdea31d8eba | 5 | #include "kernel/ports.h" |
| gawas | 0:ccdea31d8eba | 6 | |
| gawas | 0:ccdea31d8eba | 7 | port_t p_yellow_toggler[1] = {{ |
| gawas | 0:ccdea31d8eba | 8 | .is_queuing_port = true, |
| gawas | 0:ccdea31d8eba | 9 | .q_buf = { |
| gawas | 0:ccdea31d8eba | 10 | .WAITING_PROCESSES = 0, |
| gawas | 0:ccdea31d8eba | 11 | .PORT_DIRECTION = SOURCE, |
| gawas | 0:ccdea31d8eba | 12 | Q_MESSAGE_BUFFER(32, 32), |
| gawas | 0:ccdea31d8eba | 13 | }, |
| gawas | 0:ccdea31d8eba | 14 | .portname = "yellow_print", |
| gawas | 0:ccdea31d8eba | 15 | },}; |
| gawas | 0:ccdea31d8eba | 16 | |
| gawas | 0:ccdea31d8eba | 17 | port_t p_red_toggler[1] = {{ |
| gawas | 0:ccdea31d8eba | 18 | .is_queuing_port = true, |
| gawas | 0:ccdea31d8eba | 19 | .q_buf = { |
| gawas | 0:ccdea31d8eba | 20 | .WAITING_PROCESSES = 0, |
| gawas | 0:ccdea31d8eba | 21 | .PORT_DIRECTION = SOURCE, |
| gawas | 0:ccdea31d8eba | 22 | Q_MESSAGE_BUFFER(32, 32), |
| gawas | 0:ccdea31d8eba | 23 | }, |
| gawas | 0:ccdea31d8eba | 24 | .portname = "red_print", |
| gawas | 0:ccdea31d8eba | 25 | },}; |
| gawas | 0:ccdea31d8eba | 26 | |
| gawas | 0:ccdea31d8eba | 27 | port_t p_stio_sys[1] = {{ |
| gawas | 0:ccdea31d8eba | 28 | .is_queuing_port = true, |
| gawas | 0:ccdea31d8eba | 29 | .q_buf = { |
| gawas | 0:ccdea31d8eba | 30 | .WAITING_PROCESSES = 0, |
| gawas | 0:ccdea31d8eba | 31 | .PORT_DIRECTION = DESTINATION, |
| gawas | 0:ccdea31d8eba | 32 | Q_MESSAGE_BUFFER(32, 32), |
| gawas | 0:ccdea31d8eba | 33 | }, |
| gawas | 0:ccdea31d8eba | 34 | .portname = "sys_stio", |
| gawas | 0:ccdea31d8eba | 35 | },}; |
| gawas | 0:ccdea31d8eba | 36 | |
| gawas | 0:ccdea31d8eba | 37 | port_t p_evil[1] = {{ |
| gawas | 0:ccdea31d8eba | 38 | .is_queuing_port = true, |
| gawas | 0:ccdea31d8eba | 39 | .q_buf = { |
| gawas | 0:ccdea31d8eba | 40 | .WAITING_PROCESSES = 0, |
| gawas | 0:ccdea31d8eba | 41 | .PORT_DIRECTION = DESTINATION, |
| gawas | 0:ccdea31d8eba | 42 | Q_MESSAGE_BUFFER(1, 1), |
| gawas | 0:ccdea31d8eba | 43 | }, |
| gawas | 0:ccdea31d8eba | 44 | .portname = "temp", |
| gawas | 0:ccdea31d8eba | 45 | },}; |
| gawas | 0:ccdea31d8eba | 46 | |
| gawas | 0:ccdea31d8eba | 47 | partition_t partitions[5] = {{ |
| gawas | 0:ccdea31d8eba | 48 | .id = 0, |
| gawas | 0:ccdea31d8eba | 49 | .partitionname = "idle", |
| gawas | 0:ccdea31d8eba | 50 | .criticality = LEVEL_E, |
| gawas | 0:ccdea31d8eba | 51 | .systempartion = false, |
| gawas | 0:ccdea31d8eba | 52 | .entrypoint = &idle_main, |
| gawas | 0:ccdea31d8eba | 53 | .nb_ports = 0, |
| gawas | 0:ccdea31d8eba | 54 | .ports = 0, |
| gawas | 0:ccdea31d8eba | 55 | },{ |
| gawas | 0:ccdea31d8eba | 56 | .id = 1, |
| gawas | 0:ccdea31d8eba | 57 | .partitionname = "yellow_toggler", |
| gawas | 0:ccdea31d8eba | 58 | .criticality = LEVEL_A, |
| gawas | 0:ccdea31d8eba | 59 | .systempartion = false, |
| gawas | 0:ccdea31d8eba | 60 | .entrypoint = &yellow_toggler_main, |
| gawas | 0:ccdea31d8eba | 61 | .nb_ports = 1, |
| gawas | 0:ccdea31d8eba | 62 | .ports = p_yellow_toggler, |
| gawas | 0:ccdea31d8eba | 63 | },{ |
| gawas | 0:ccdea31d8eba | 64 | .id = 2, |
| gawas | 0:ccdea31d8eba | 65 | .partitionname = "red_toggler", |
| gawas | 0:ccdea31d8eba | 66 | .criticality = LEVEL_A, |
| gawas | 0:ccdea31d8eba | 67 | .systempartion = false, |
| gawas | 0:ccdea31d8eba | 68 | .entrypoint = &red_toggler_main, |
| gawas | 0:ccdea31d8eba | 69 | .nb_ports = 1, |
| gawas | 0:ccdea31d8eba | 70 | .ports = p_red_toggler, |
| gawas | 0:ccdea31d8eba | 71 | },{ |
| gawas | 0:ccdea31d8eba | 72 | .id = 3, |
| gawas | 0:ccdea31d8eba | 73 | .partitionname = "stio_sys", |
| gawas | 0:ccdea31d8eba | 74 | .criticality = LEVEL_A, |
| gawas | 0:ccdea31d8eba | 75 | .systempartion = true, |
| gawas | 0:ccdea31d8eba | 76 | .entrypoint = &stdio_sys_main, |
| gawas | 0:ccdea31d8eba | 77 | .nb_ports = 1, |
| gawas | 0:ccdea31d8eba | 78 | .ports = p_stio_sys, |
| gawas | 0:ccdea31d8eba | 79 | },{ |
| gawas | 0:ccdea31d8eba | 80 | .id = 4, |
| gawas | 0:ccdea31d8eba | 81 | .partitionname = "evil", |
| gawas | 0:ccdea31d8eba | 82 | .criticality = LEVEL_A, |
| gawas | 0:ccdea31d8eba | 83 | .systempartion = false, |
| gawas | 0:ccdea31d8eba | 84 | .entrypoint = &evil_main, |
| gawas | 0:ccdea31d8eba | 85 | .nb_ports = 1, |
| gawas | 0:ccdea31d8eba | 86 | .ports = p_evil, |
| gawas | 0:ccdea31d8eba | 87 | },}; |
| gawas | 0:ccdea31d8eba | 88 | |
| gawas | 0:ccdea31d8eba | 89 | mem_req_t memoryp_dummy_1[2] = {{ |
| gawas | 0:ccdea31d8eba | 90 | .type = CODE, |
| gawas | 0:ccdea31d8eba | 91 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 92 | .access = READ_ONLY, |
| gawas | 0:ccdea31d8eba | 93 | .address = 0x8010000, |
| gawas | 0:ccdea31d8eba | 94 | },{ |
| gawas | 0:ccdea31d8eba | 95 | .type = DATA, |
| gawas | 0:ccdea31d8eba | 96 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 97 | .access = READ_WRITE, |
| gawas | 0:ccdea31d8eba | 98 | .address = 0x20010000, |
| gawas | 0:ccdea31d8eba | 99 | },}; |
| gawas | 0:ccdea31d8eba | 100 | |
| gawas | 0:ccdea31d8eba | 101 | mem_req_t memoryp_dummy_2[2] = {{ |
| gawas | 0:ccdea31d8eba | 102 | .type = CODE, |
| gawas | 0:ccdea31d8eba | 103 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 104 | .access = READ_ONLY, |
| gawas | 0:ccdea31d8eba | 105 | .address = 0x8012000, |
| gawas | 0:ccdea31d8eba | 106 | },{ |
| gawas | 0:ccdea31d8eba | 107 | .type = DATA, |
| gawas | 0:ccdea31d8eba | 108 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 109 | .access = READ_WRITE, |
| gawas | 0:ccdea31d8eba | 110 | .address = 0x20012000, |
| gawas | 0:ccdea31d8eba | 111 | },}; |
| gawas | 0:ccdea31d8eba | 112 | |
| gawas | 0:ccdea31d8eba | 113 | mem_req_t memoryp_stio_sys[2] = {{ |
| gawas | 0:ccdea31d8eba | 114 | .type = CODE, |
| gawas | 0:ccdea31d8eba | 115 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 116 | .access = READ_ONLY, |
| gawas | 0:ccdea31d8eba | 117 | .address = 0x8014000, |
| gawas | 0:ccdea31d8eba | 118 | },{ |
| gawas | 0:ccdea31d8eba | 119 | .type = DATA, |
| gawas | 0:ccdea31d8eba | 120 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 121 | .access = READ_WRITE, |
| gawas | 0:ccdea31d8eba | 122 | .address = 0x20014000, |
| gawas | 0:ccdea31d8eba | 123 | },}; |
| gawas | 0:ccdea31d8eba | 124 | |
| gawas | 0:ccdea31d8eba | 125 | mem_req_t memoryp_evil[2] = {{ |
| gawas | 0:ccdea31d8eba | 126 | .type = CODE, |
| gawas | 0:ccdea31d8eba | 127 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 128 | .access = READ_ONLY, |
| gawas | 0:ccdea31d8eba | 129 | .address = 0x8016000, |
| gawas | 0:ccdea31d8eba | 130 | },{ |
| gawas | 0:ccdea31d8eba | 131 | .type = DATA, |
| gawas | 0:ccdea31d8eba | 132 | .size = 8000, |
| gawas | 0:ccdea31d8eba | 133 | .access = READ_WRITE, |
| gawas | 0:ccdea31d8eba | 134 | .address = 0x20016000, |
| gawas | 0:ccdea31d8eba | 135 | },}; |
| gawas | 0:ccdea31d8eba | 136 | |
| gawas | 0:ccdea31d8eba | 137 | part_mem_t partition_memory[4] = {{ |
| gawas | 0:ccdea31d8eba | 138 | .id = 1, |
| gawas | 0:ccdea31d8eba | 139 | .partitionname = "dummy_1", |
| gawas | 0:ccdea31d8eba | 140 | .arr_size = 2, |
| gawas | 0:ccdea31d8eba | 141 | .memory_arr = memoryp_dummy_1, |
| gawas | 0:ccdea31d8eba | 142 | .mem_offset = 1024, |
| gawas | 0:ccdea31d8eba | 143 | },{ |
| gawas | 0:ccdea31d8eba | 144 | .id = 2, |
| gawas | 0:ccdea31d8eba | 145 | .partitionname = "dummy_2", |
| gawas | 0:ccdea31d8eba | 146 | .arr_size = 2, |
| gawas | 0:ccdea31d8eba | 147 | .memory_arr = memoryp_dummy_2, |
| gawas | 0:ccdea31d8eba | 148 | .mem_offset = 1024, |
| gawas | 0:ccdea31d8eba | 149 | },{ |
| gawas | 0:ccdea31d8eba | 150 | .id = 3, |
| gawas | 0:ccdea31d8eba | 151 | .partitionname = "stio_sys", |
| gawas | 0:ccdea31d8eba | 152 | .arr_size = 2, |
| gawas | 0:ccdea31d8eba | 153 | .memory_arr = memoryp_stio_sys, |
| gawas | 0:ccdea31d8eba | 154 | .mem_offset = 1024, |
| gawas | 0:ccdea31d8eba | 155 | },{ |
| gawas | 0:ccdea31d8eba | 156 | .id = 4, |
| gawas | 0:ccdea31d8eba | 157 | .partitionname = "evil", |
| gawas | 0:ccdea31d8eba | 158 | .arr_size = 2, |
| gawas | 0:ccdea31d8eba | 159 | .memory_arr = memoryp_evil, |
| gawas | 0:ccdea31d8eba | 160 | .mem_offset = 1024, |
| gawas | 0:ccdea31d8eba | 161 | },}; |
| gawas | 0:ccdea31d8eba | 162 | |
| gawas | 0:ccdea31d8eba | 163 | const uint32_t majorFrameSeconds = 20000; |
| gawas | 0:ccdea31d8eba | 164 | |
| gawas | 0:ccdea31d8eba | 165 | const window_schedule windowp_yellow_toggler[2] = {{ |
| gawas | 0:ccdea31d8eba | 166 | .id = 1, |
| gawas | 0:ccdea31d8eba | 167 | .windowstartmilliseconds = 0, |
| gawas | 0:ccdea31d8eba | 168 | .windowdurationmilliseconds = 2000, |
| gawas | 0:ccdea31d8eba | 169 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 170 | },{ |
| gawas | 0:ccdea31d8eba | 171 | .id = 2, |
| gawas | 0:ccdea31d8eba | 172 | .windowstartmilliseconds = 10000, |
| gawas | 0:ccdea31d8eba | 173 | .windowdurationmilliseconds = 2000, |
| gawas | 0:ccdea31d8eba | 174 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 175 | },}; |
| gawas | 0:ccdea31d8eba | 176 | |
| gawas | 0:ccdea31d8eba | 177 | const window_schedule windowp_red_toggler[2] = {{ |
| gawas | 0:ccdea31d8eba | 178 | .id = 1, |
| gawas | 0:ccdea31d8eba | 179 | .windowstartmilliseconds = 3000, |
| gawas | 0:ccdea31d8eba | 180 | .windowdurationmilliseconds = 1000, |
| gawas | 0:ccdea31d8eba | 181 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 182 | },{ |
| gawas | 0:ccdea31d8eba | 183 | .id = 2, |
| gawas | 0:ccdea31d8eba | 184 | .windowstartmilliseconds = 13000, |
| gawas | 0:ccdea31d8eba | 185 | .windowdurationmilliseconds = 1000, |
| gawas | 0:ccdea31d8eba | 186 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 187 | },}; |
| gawas | 0:ccdea31d8eba | 188 | |
| gawas | 0:ccdea31d8eba | 189 | const window_schedule windowp_stio_sys[2] = {{ |
| gawas | 0:ccdea31d8eba | 190 | .id = 1, |
| gawas | 0:ccdea31d8eba | 191 | .windowstartmilliseconds = 4000, |
| gawas | 0:ccdea31d8eba | 192 | .windowdurationmilliseconds = 3000, |
| gawas | 0:ccdea31d8eba | 193 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 194 | },{ |
| gawas | 0:ccdea31d8eba | 195 | .id = 2, |
| gawas | 0:ccdea31d8eba | 196 | .windowstartmilliseconds = 14000, |
| gawas | 0:ccdea31d8eba | 197 | .windowdurationmilliseconds = 3000, |
| gawas | 0:ccdea31d8eba | 198 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 199 | },}; |
| gawas | 0:ccdea31d8eba | 200 | |
| gawas | 0:ccdea31d8eba | 201 | const window_schedule windowp_evil[1] = {{ |
| gawas | 0:ccdea31d8eba | 202 | .id = 1, |
| gawas | 0:ccdea31d8eba | 203 | .windowstartmilliseconds = 18000, |
| gawas | 0:ccdea31d8eba | 204 | .windowdurationmilliseconds = 2000, |
| gawas | 0:ccdea31d8eba | 205 | .partitionperiodstart = true, |
| gawas | 0:ccdea31d8eba | 206 | },}; |
| gawas | 0:ccdea31d8eba | 207 | |
| gawas | 0:ccdea31d8eba | 208 | const partition_schedule partition_schedules[4] = {{ |
| gawas | 0:ccdea31d8eba | 209 | .id = 1, |
| gawas | 0:ccdea31d8eba | 210 | .partitionname = "yellow_toggler", |
| gawas | 0:ccdea31d8eba | 211 | .peroidseconds = 100, |
| gawas | 0:ccdea31d8eba | 212 | .perioddurationseconds = 20, |
| gawas | 0:ccdea31d8eba | 213 | .numWindows = 2, |
| gawas | 0:ccdea31d8eba | 214 | .window_arr = windowp_yellow_toggler, |
| gawas | 0:ccdea31d8eba | 215 | },{ |
| gawas | 0:ccdea31d8eba | 216 | .id = 2, |
| gawas | 0:ccdea31d8eba | 217 | .partitionname = "red_toggler", |
| gawas | 0:ccdea31d8eba | 218 | .peroidseconds = 100, |
| gawas | 0:ccdea31d8eba | 219 | .perioddurationseconds = 10, |
| gawas | 0:ccdea31d8eba | 220 | .numWindows = 2, |
| gawas | 0:ccdea31d8eba | 221 | .window_arr = windowp_red_toggler, |
| gawas | 0:ccdea31d8eba | 222 | },{ |
| gawas | 0:ccdea31d8eba | 223 | .id = 3, |
| gawas | 0:ccdea31d8eba | 224 | .partitionname = "stio_sys", |
| gawas | 0:ccdea31d8eba | 225 | .peroidseconds = 100, |
| gawas | 0:ccdea31d8eba | 226 | .perioddurationseconds = 30, |
| gawas | 0:ccdea31d8eba | 227 | .numWindows = 2, |
| gawas | 0:ccdea31d8eba | 228 | .window_arr = windowp_stio_sys, |
| gawas | 0:ccdea31d8eba | 229 | },{ |
| gawas | 0:ccdea31d8eba | 230 | .id = 4, |
| gawas | 0:ccdea31d8eba | 231 | .partitionname = "evil", |
| gawas | 0:ccdea31d8eba | 232 | .peroidseconds = 200, |
| gawas | 0:ccdea31d8eba | 233 | .perioddurationseconds = 20, |
| gawas | 0:ccdea31d8eba | 234 | .numWindows = 1, |
| gawas | 0:ccdea31d8eba | 235 | .window_arr = windowp_evil, |
| gawas | 0:ccdea31d8eba | 236 | },}; |
| gawas | 0:ccdea31d8eba | 237 | |
| gawas | 0:ccdea31d8eba | 238 | port_t *stio_channel_ports[3] = { |
| gawas | 0:ccdea31d8eba | 239 | &p_red_toggler[0], |
| gawas | 0:ccdea31d8eba | 240 | &p_yellow_toggler[0], |
| gawas | 0:ccdea31d8eba | 241 | &p_stio_sys[0],}; |
| gawas | 0:ccdea31d8eba | 242 | |
| gawas | 0:ccdea31d8eba | 243 | channel_t connection_table[1] = {{ |
| gawas | 0:ccdea31d8eba | 244 | .id = 1, |
| gawas | 0:ccdea31d8eba | 245 | .channelname = "stio_channel", |
| gawas | 0:ccdea31d8eba | 246 | .nb_ports = 3, |
| gawas | 0:ccdea31d8eba | 247 | .ports = stio_channel_ports, |
| gawas | 0:ccdea31d8eba | 248 | },}; |
| gawas | 0:ccdea31d8eba | 249 | |
| gawas | 0:ccdea31d8eba | 250 |