Revision 2538f3de
| core/src/aos_rtcan.c | ||
|---|---|---|
| 143 | 143 |
static msg_t Thread(void *arg){
|
| 144 | 144 |
(void)arg; |
| 145 | 145 |
chRegSetThreadName("RTCAN Timer");
|
| 146 |
int nextSlot; // set by while loop from calendar |
|
| 146 | 147 |
|
| 147 | 148 |
while (true){
|
| 149 |
// iterate over calendar(bitmask) |
|
| 150 |
rtcan_msg_t *nextMsg; |
|
| 148 | 151 |
chThdSleepMilliseconds( 20 ); |
| 152 |
if(nextSlot == 1){
|
|
| 153 |
nextMsg = popRTCanMsg(&hrtQueue); |
|
| 154 |
}else{
|
|
| 155 |
if(!msgqueueEmpty(srtQueue)){
|
|
| 156 |
nextMsg = popRTCanMsg(&srtQueue); |
|
| 157 |
}else{
|
|
| 158 |
nextMsg = popRTCanMsg(&nrtQueue); |
|
| 159 |
} |
|
| 160 |
} |
|
| 149 | 161 |
// Take next element from queue |
| 162 |
// create frame |
|
| 150 | 163 |
// place it in buffer to be sent in next time slot |
| 151 | 164 |
chThdSleepMilliseconds( 20 ); |
| 152 | 165 |
} |
Also available in: Unified diff