Changeset 309
- Timestamp:
- 11/18/07 12:41:09 (11 months ago)
- Files:
-
- nano-RK/projects/basic_SLIPstream/main.c (modified) (2 diffs)
- nano-RK/projects/basic_adc/main.c (modified) (1 diff)
- nano-RK/projects/basic_bmac/main.c (modified) (2 diffs)
- nano-RK/projects/basic_eeprom/main.c (modified) (4 diffs)
- nano-RK/projects/basic_mmc/main.c (modified) (4 diffs)
- nano-RK/projects/basic_sensors/main.c (modified) (1 diff)
- nano-RK/projects/basic_serial/main.c (modified) (2 diffs)
- nano-RK/projects/basic_signals/main.c (modified) (3 diffs)
- nano-RK/projects/basic_tasks/main.c (modified) (3 diffs)
- nano-RK/projects/basic_tasks/makefile (modified) (1 diff)
- nano-RK/projects/flash_flood/gateway/main.c (modified) (2 diffs)
- nano-RK/projects/flash_flood/include/tree_route.h (modified) (3 diffs)
- nano-RK/projects/self_test/main.c (modified) (3 diffs)
- nano-RK/projects/widom/basic_widom/main.c (modified) (2 diffs)
- nano-RK/src/kernel/hal/atmega1281/nrk_cpu.c (modified) (2 diffs)
- nano-RK/src/kernel/include/nrk_error.h (modified) (1 diff)
- nano-RK/src/kernel/source/nrk.c (modified) (1 diff)
- nano-RK/src/kernel/source/nrk_error.c (modified) (1 diff)
- nano-RK/src/net/bmac/bmac.c (modified) (1 diff)
- nano-RK/src/net/rt_link/rt_link.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
nano-RK/projects/basic_SLIPstream/main.c
r272 r309 145 145 { 146 146 TaskOne.task = Task1; 147 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE - 1]; 148 TaskOne.Pbos = (void *) &Stack1[0]; 147 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 149 148 TaskOne.prio = 1; 150 149 TaskOne.FirstActivation = TRUE; … … 160 159 161 160 TaskTwo.task = Task2; 162 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE - 1]; 163 TaskTwo.Pbos = (void *) &Stack2[0]; 161 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 164 162 TaskTwo.prio = 2; 165 163 TaskTwo.FirstActivation = TRUE; nano-RK/projects/basic_adc/main.c
r243 r309 108 108 { 109 109 TaskOne.task = Task1; 110 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 111 TaskOne.Pbos = (void *) &Stack1[0]; 110 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 112 111 TaskOne.prio = 1; 113 112 TaskOne.FirstActivation = TRUE; nano-RK/projects/basic_bmac/main.c
r243 r309 172 172 173 173 RX_TASK.task = rx_task; 174 RX_TASK.Ptos = (void *) &rx_task_stack[NRK_APP_STACKSIZE - 1]; 175 RX_TASK.Pbos = (void *) &rx_task_stack[0]; 174 nrk_task_set_stk( &RX_TASK, rx_task_stack, NRK_APP_STACKSIZE); 176 175 RX_TASK.prio = 2; 177 176 RX_TASK.FirstActivation = TRUE; … … 187 186 188 187 TX_TASK.task = tx_task; 189 TX_TASK.Ptos = (void *) &tx_task_stack[NRK_APP_STACKSIZE - 1]; 190 TX_TASK.Pbos = (void *) &tx_task_stack[0]; 188 nrk_task_set_stk( &TX_TASK, tx_task_stack, NRK_APP_STACKSIZE); 191 189 TX_TASK.prio = 2; 192 190 TX_TASK.FirstActivation = TRUE; nano-RK/projects/basic_eeprom/main.c
r251 r309 168 168 { 169 169 TaskOne.task = Task1; 170 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 171 TaskOne.Pbos = (void *) &Stack1[0]; 170 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 172 171 TaskOne.prio = 1; 173 172 TaskOne.FirstActivation = TRUE; … … 183 182 184 183 TaskTwo.task = Task2; 185 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 186 TaskTwo.Pbos = (void *) &Stack2[0]; 184 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 187 185 TaskTwo.prio = 2; 188 186 TaskTwo.FirstActivation = TRUE; … … 199 197 200 198 TaskThree.task = Task3; 201 TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 202 TaskThree.Pbos = (void *) &Stack3[0]; 199 nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 203 200 TaskThree.prio = 3; 204 201 TaskThree.FirstActivation = TRUE; … … 215 212 216 213 TaskFour.task = Task4; 217 TaskFour.Ptos = (void *) &Stack4[NRK_APP_STACKSIZE]; 218 TaskFour.Pbos = (void *) &Stack4[0]; 214 nrk_task_set_stk( &TaskFour, Stack4, NRK_APP_STACKSIZE); 219 215 TaskFour.prio = 4; 220 216 TaskFour.FirstActivation = TRUE; nano-RK/projects/basic_mmc/main.c
r243 r309 200 200 201 201 TaskOne.task = Task1; 202 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 203 TaskOne.Pbos = (void *) &Stack1[0]; 202 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 204 203 TaskOne.prio = 1; 205 204 TaskOne.FirstActivation = TRUE; … … 215 214 216 215 TaskTwo.task = Task2; 217 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 218 TaskTwo.Pbos = (void *) &Stack2[0]; 216 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 219 217 TaskTwo.prio = 2; 220 218 TaskTwo.FirstActivation = TRUE; … … 231 229 232 230 TaskThree.task = Task3; 233 TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 234 TaskThree.Pbos = (void *) &Stack3[0]; 231 nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 235 232 TaskThree.prio = 3; 236 233 TaskThree.FirstActivation = TRUE; … … 247 244 248 245 TaskFour.task = Task4; 249 TaskFour.Ptos = (void *) &Stack4[NRK_APP_STACKSIZE]; 250 TaskFour.Pbos = (void *) &Stack4[0]; 246 nrk_task_set_stk( &TaskFour, Stack4, NRK_APP_STACKSIZE); 251 247 TaskFour.prio = 4; 252 248 TaskFour.FirstActivation = TRUE; nano-RK/projects/basic_sensors/main.c
r243 r309 117 117 { 118 118 TaskOne.task = Task1; 119 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 120 TaskOne.Pbos = (void *) &Stack1[0]; 119 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 121 120 TaskOne.prio = 1; 122 121 TaskOne.FirstActivation = TRUE; nano-RK/projects/basic_serial/main.c
r243 r309 116 116 { 117 117 TaskOne.task = rx_task; 118 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 119 TaskOne.Pbos = (void *) &Stack1[0]; 118 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 120 119 TaskOne.prio = 1; 121 120 TaskOne.FirstActivation = TRUE; … … 131 130 132 131 TaskTwo.task = tx_task; 133 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 134 TaskTwo.Pbos = (void *) &Stack2[0]; 132 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 135 133 TaskTwo.prio = 2; 136 134 TaskTwo.FirstActivation = TRUE; nano-RK/projects/basic_signals/main.c
r243 r309 175 175 { 176 176 TaskOne.task = Task1; 177 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 178 TaskOne.Pbos = (void *) &Stack1[0]; 177 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 179 178 TaskOne.prio = 5; 180 179 TaskOne.FirstActivation = TRUE; … … 190 189 191 190 TaskTwo.task = Task2; 192 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 193 TaskTwo.Pbos = (void *) &Stack2[0]; 191 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 194 192 TaskTwo.prio = 4; 195 193 TaskTwo.FirstActivation = TRUE; … … 205 203 206 204 TaskThree.task = Task3; 207 TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 208 TaskThree.Pbos = (void *) &Stack3[0]; 205 nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 209 206 TaskThree.prio = 3; 210 207 TaskThree.FirstActivation = TRUE; nano-RK/projects/basic_tasks/main.c
r281 r309 143 143 { 144 144 TaskOne.task = Task1; 145 TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 146 TaskOne.Pbos = (void *) &Stack1[0]; 145 nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 147 146 TaskOne.prio = 1; 148 147 TaskOne.FirstActivation = TRUE; … … 158 157 159 158 TaskTwo.task = Task2; 160 TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 161 TaskTwo.Pbos = (void *) &Stack2[0]; 159 nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 162 160 TaskTwo.prio = 2; 163 161 TaskTwo.FirstActivation = TRUE; … … 174 172 175 173 TaskThree.task = Task3; 176 TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 177 TaskThree.Pbos = (void *) &Stack3[0]; 174 nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 178 175 TaskThree.prio = 3; 179 176 TaskThree.FirstActivation = TRUE; nano-RK/projects/basic_tasks/makefile
r295 r309 7 7 8 8 # Set the Port that you programmer is connected to 9 PROGRAMMING_PORT = `ls /dev/tty.* | grep usb | head -n 1` # programmer connected to serial device 9 PROGRAMMING_PORT = /dev/ttyUSB1 10 11 12 # PROGRAMMING_PORT = `ls /dev/tty.* | grep usb | head -n 1` # programmer connected to serial device 10 13 11 14 # Set this such that the nano-RK directory is the base path nano-RK/projects/flash_flood/gateway/main.c
r308 r309 166 166 tx_buf[PKT_TYPE]=PING_PKT | FLOOD_MASK; 167 167 tx_buf[DS_HOP_CNT]=0; 168 tx_buf[DS_HOP_MAX]= 5;168 tx_buf[DS_HOP_MAX]=2; 169 169 tx_buf[DS_DELAY_PER_LEVEL]=1; 170 170 tx_buf[DS_NAV]=15; … … 225 225 TX_TASK.Type = BASIC_TASK; 226 226 TX_TASK.SchType = PREEMPTIVE; 227 TX_TASK.period.secs = 3 0;227 TX_TASK.period.secs = 3; 228 228 TX_TASK.period.nano_secs = 0; 229 229 TX_TASK.cpu_reserve.secs = 1; nano-RK/projects/flash_flood/include/tree_route.h
r307 r309 66 66 #define DS_SEQ_NUM 7 67 67 #define DS_PRIORITY 8 68 #define DS_PAYLOAD_START 9 68 #define DS_SRC_MAC 9 69 #define DS_PAYLOAD_START 10 69 70 70 71 #define US_SUBNET_MAC 1 71 72 #define US_SEQ_NUM 2 72 73 #define US_ERROR_CODE 3 73 #define US_PAYLOAD_START 4 74 #define US_DST_MAC 4 75 #define US_PAYLOAD_START 5 74 76 75 77 typedef struct ff_downstream_pkt … … 85 87 uint8_t seq_num; 86 88 uint8_t priority; 89 uint8_t src_mac; 87 90 } FF_DOWNSTREAM_PKT_T; 88 91 … … 93 96 uint8_t seq_num; 94 97 uint8_t error_code; // Allow errors to be sent up 98 uint8_t dst_mac; 95 99 // Pass up error if there is a reply beyond max depth 96 100 }FF_UPSTREAM_PKT_T; nano-RK/projects/self_test/main.c
r256 r309 226 226 227 227 RX_TASK.task = rx_task; 228 RX_TASK.Ptos = (void *) &rx_task_stack[NRK_APP_STACKSIZE - 1]; 229 RX_TASK.Pbos = (void *) &rx_task_stack[0]; 228 nrk_task_set_stk( &RX_TASK, rx_task_stack, NRK_APP_STACKSIZE); 230 229 RX_TASK.prio = 2; 231 230 RX_TASK.FirstActivation = TRUE; … … 241 240 242 241 TX_TASK.task = tx_task; 243 TX_TASK.Ptos = (void *) &tx_task_stack[NRK_APP_STACKSIZE - 1]; 244 TX_TASK.Pbos = (void *) &tx_task_stack[0]; 242 nrk_task_set_stk( &TX_TASK, tx_task_stack, NRK_APP_STACKSIZE); 245 243 TX_TASK.prio = 25; 246 244 TX_TASK.FirstActivation = TRUE; … … 255 253 nrk_activate_task (&TX_TASK); 256 254 257 258 259 printf ("Create done\r\n"); 260 } 255 } nano-RK/projects/widom/basic_widom/main.c
r243 r309 182 182 { 183 183 type_task_snd.task = task_snd; 184 type_task_snd.Ptos = (void *) &stack_task_snd[NRK_APP_STACKSIZE]; 185 type_task_snd.Pbos = (void *) &stack_task_snd[0]; 184 nrk_task_set_stk( &type_task_snd, stack_task_snd, NRK_APP_STACKSIZE); 186 185 type_task_snd.prio = 1; 187 186 type_task_snd.FirstActivation = TRUE; … … 197 196 198 197 type_task_rcv.task = task_rcv; 199 type_task_rcv.Ptos = (void *) &stack_task_rcv[NRK_APP_STACKSIZE]; 200 type_task_rcv.Pbos = (void *) &stack_task_rcv[0]; 198 nrk_task_set_stk( &type_task_rcv, stack_task_rcv, NRK_APP_STACKSIZE); 201 199 type_task_rcv.prio = 2; 202 200 type_task_rcv.FirstActivation = TRUE; nano-RK/src/kernel/hal/atmega1281/nrk_cpu.c
r294 r309 34 34 #include <nrk_defs.h> 35 35 #include <nrk_cfg.h> 36 #include <nrk_error.h> 36 37 37 38 #define BUILD_DATE "Date: " __DATE__ "\n" … … 92 93 93 94 } 95 96 97 void nrk_task_set_stk( nrk_task_type *task, void *stk_base, uint16_t stk_size ) 98 { 99 100 if(stk_size<32) nrk_error_add(NRK_STACK_TOO_SMALL); 101 task->Ptos = (void *) &stk_base[stk_size-1]; 102 task->Pbos = (void *) &stk_base[0]; 103 104 } 105 94 106 void *nrk_task_stk_init (void (*task)(), void *ptos, void *pbos) 95 107 { nano-RK/src/kernel/include/nrk_error.h
r235 r309 51 51 #define NRK_SEMAPHORE_CREATE_ERROR 15 52 52 #define NRK_WATCHDOG_ERROR 16 53 #define NRK_NUM_ERRORS 17 53 #define NRK_STACK_TOO_SMALL 17 54 #define NRK_NUM_ERRORS 18 54 55 typedef uint8_t NRK_ERRNO; 55 56 nano-RK/src/kernel/source/nrk.c
r298 r309 151 151 152 152 IdleTask.task = nrk_idle_task; 153 IdleTask.Ptos = (void *)&nrk_idle_task_stk[NRK_TASK_IDLE_STK_SIZE-1]; 154 IdleTask.Pbos = (void *)&nrk_idle_task_stk[0]; // Stack checked in idle task... 153 nrk_task_set_stk( &IdleTask, nrk_idle_task_stk, NRK_APP_STACKSIZE); 155 154 nrk_idle_task_stk[0]=STK_CANARY_VAL; 156 155 IdleTask.task_ID = 0; nano-RK/src/kernel/source/nrk_error.c
r285 r309 110 110 switch (error_num) 111 111 { 112 case NRK_STACK_TOO_SMALL: 113 nrk_kprintf (PSTR ("Stack was not defined as large enough!")); 114 break; 112 115 case NRK_STACK_OVERFLOW: 113 116 nrk_kprintf (PSTR ("Task Stack Overflow")); nano-RK/src/net/bmac/bmac.c
r292 r309 364 364 { 365 365 bmac_task.task = bmac_nw_task; 366 bmac_task.Ptos = (void *) &bmac_task_stack[BMAC_STACK_SIZE-1]; 367 bmac_task.Pbos = (void *) &bmac_task_stack[0]; 366 nrk_task_set_stk( &bmac_task, bmac_task_stack, BMAC_STACK_SIZE); 368 367 bmac_task.prio = BMAC_TASK_PRIORITY; 369 368 bmac_task.FirstActivation = TRUE; nano-RK/src/net/rt_link/rt_link.c
r278 r309 1114 1114 { 1115 1115 rtl_task.task = rtl_nw_task; 1116 rtl_task.Ptos = (void *) &rtl_task_stack[RT_LINK_STACK_SIZE - 1]; 1117 rtl_task.Pbos = (void *) &rtl_task_stack[0]; 1116 nrk_task_set_stk( &rtl_task, rtl_task_stack, RT_LINK_STACK_SIZE); 1118 1117 rtl_task.prio = 20; 1119 1118 rtl_task.FirstActivation = TRUE;
