Changeset 1032
- Timestamp:
- 01/15/2010 06:07:10 PM (2 years ago)
- Location:
- nano-RK
- Files:
-
- 5 edited
-
projects/test_tdma/main.c (modified) (2 diffs)
-
src/net/tdma_asap/tdma_asap.c (modified) (40 diffs)
-
src/net/tdma_asap/tdma_asap.h (modified) (5 diffs)
-
src/net/tdma_asap/tdma_asap_tree.c (modified) (2 diffs)
-
src/net/tdma_asap/tdma_asap_tree.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
nano-RK/projects/test_tdma/main.c
r1031 r1032 38 38 //#include "main.h" 39 39 #define TDMA_CHANNEL 18 40 #define TDMA_CCA - 3540 #define TDMA_CCA -45 41 41 42 42 // Only require MAC address for address decode … … 44 44 #define EVENT_PERIOD_SECS 10 45 45 46 #define TDMA_MODE TDMA_ MASTER46 #define TDMA_MODE TDMA_SLAVE 47 47 #define SMALL_STACK 256 48 48 -
nano-RK/src/net/tdma_asap/tdma_asap.c
r1031 r1032 53 53 54 54 // general to collect tdma statistics 55 //#define TDMA_STATS_COLLECT55 #define TDMA_STATS_COLLECT 56 56 57 57 #ifdef TDMA_STATS_COLLECT … … 60 60 61 61 // Use a preamble instead of CCA to do the handshake 62 #define TDMA_PREAMBLE_HANDSHAKE 63 64 //#define TDMA_TEXT_DEBUG 62 //#define TDMA_PREAMBLE_HANDSHAKE 63 64 #define TDMA_TEXT_DEBUG 65 //#define TDMA_TEXT_DEBUG_ALL 65 66 66 67 // to use some of the pin debug symbols, #define them as … … 80 81 // raise pin during check period until end or jam is detected 81 82 // also raise pin while jamming 82 //#define JAM_CHECK_DEBUG DEBUG_183 #define JAM_CHECK_DEBUG DEBUG_1 83 84 84 85 // oscillate DEBUG_0 at beginning of every slot 85 //#define GPIO_NEWTMR_SLT_DEBUG DEBUG_086 #define GPIO_NEWTMR_SLT_DEBUG DEBUG_0 86 87 87 88 // raise pin for actual TX … … 229 230 int8_t val; 230 231 rf_polling_rx_on(); 232 // 8 symbol periods 233 nrk_spin_wait_us(128); 231 234 nrk_spin_wait_us(250); 232 235 val=CCA_IS_1; … … 241 244 } 242 245 243 // Functions to set the RX in unbuffered mode for RX244 // Such is done for slot stealing by the master node245 /*246 _rf_rx_set_unbuffered()247 {248 FASTSPI_STROBE(CC2420_SRFOFF); // stop radio249 FASTSPI_SETREG(CC2420_MDMCTRL1, 0x0501); // Set RX_MODE=1250 rf_flush_rx_fifo();251 }252 */253 254 //int8_t _rf_rx_set_buffered()255 //{256 // FASTSPI_STROBE(CC2420_SRFOFF); // stop radio257 // FASTSPI_SETREG(CC2420_MDMCTRL1, 0x0500); // Set RX_MODE=0258 // rf_flush_rx_fifo();259 260 // return NRK_OK;261 //}262 246 /** 263 247 * This is a callback if you require immediate response to a packet … … 525 509 printf("tdma chan %d cca %d\r\n", tdma_channel, tdma_cca_thresh); 526 510 527 #ifdef TDMA_TEXT_DEBUG 511 #ifdef TDMA_TEXT_DEBUG_ALL 528 512 printf("TDMA Running. I am %d.\r\n" , my_addr16); 529 513 #endif … … 600 584 uint32_t mini_pkt_val; 601 585 uint16_t hst_rx_timeout, hst_rx_wait; 586 uint8_t mpkt_sender; 587 uint16_t mpkt_rcvid; 602 588 603 589 //nrk_kprintf(PSTR("Calling tdma_rx()\r\n")); 604 #ifdef TDMA_TEXT_DEBUG605 printf("RX slot %d\r\n", next_schedule_entry.slot);606 #endif607 590 heard_sender = 0; 608 591 … … 777 760 rf_rx_off(); 778 761 rf_data_mode(); 779 rf_rx_set_serial();762 //rf_rx_set_serial(); 780 763 781 764 #ifdef TDMA_STATS_COLLECT 782 765 stats_stop_rdo(); 783 766 #endif 767 768 PORTA |= BM(DEBUG_1); 784 769 785 770 #ifdef TDMA_STATS_COLLECT 771 // get the time of the mini packet arrival 772 nrk_time_get(¤t_time); 773 nrk_time_compact_nanos(¤t_time); 786 774 // bottom 4 bits are the address 787 775 // add 1 to adjust (cause nodes go 1-16 instead of 0-15 788 uint8_tmpkt_sender = (mini_pkt_val & 0x0F)+1;776 mpkt_sender = (mini_pkt_val & 0x0F)+1; 789 777 790 778 // top 12 bits are the event_id 791 uint16_t mpkt_rcvid = (mini_pkt_val >> 4); 792 793 nrk_time_get(¤t_time); 794 nrk_time_compact_nanos(¤t_time); 795 sprintf(mpkt_log[mpkt_log_curbuf++], "DELR %u %u %u %20"PRIu32" %20"PRIu32"", mpkt_sender, mpkt_rcvid, my_addr16, 796 current_time.secs, current_time.nano_secs); 797 #endif 779 mpkt_rcvid = (mini_pkt_val >> 4); 780 #endif 781 782 PORTA &= ~BM(DEBUG_1); 798 783 799 784 // register minipacket as rcv … … 819 804 stats_start_rdo(); 820 805 #endif 821 rf_rx_on();806 //rf_rx_on(); 822 807 823 808 //make the new timeout the end of the current delta slot … … 827 812 828 813 } 814 /* 829 815 else 830 816 { 817 // this can't happen anymore 831 818 // this runs if 2 minipackets somehow arrive in the same delta slot 832 rf_rx_off(); 833 rf_data_mode(); 834 rf_rx_set_serial(); 835 836 rf_rx_on(); 837 heard_sender = 2; 838 nrk_kprintf(PSTR("Heard >1 sender\r\n")); 819 820 //rf_rx_off(); 821 //rf_data_mode(); 822 //rf_rx_set_serial(); 823 824 //rf_rx_on(); 825 //heard_sender = 2; 826 //nrk_kprintf(PSTR("Heard >1 sender\r\n")); 827 839 828 #ifdef TDMA_STATS_COLLECT 840 829 steal_dbl_pkt(); … … 842 831 continue; 843 832 } 833 */ 844 834 #else 845 835 rf_test_mode(); … … 848 838 heard_sender = 1; 849 839 nrk_spin_wait_us(10); 850 #ifdef TDMA_TEXT_DEBUG851 nrk_kprintf(PSTR("Got mini pkt\r\n"));852 #endif853 840 854 841 #ifdef GPIO_DELTA_DEBUG … … 891 878 // No one sent a signal; I'm not expecting a packet, 892 879 // so I can finish and sleep. 893 #ifdef TDMA_TEXT_DEBUG 880 #ifdef TDMA_TEXT_DEBUG_ALL 894 881 nrk_kprintf(PSTR("No sender heard\r\n")); 895 882 #endif … … 908 895 #ifdef TDMA_PREAMBLE_HANDSHAKE 909 896 910 uint8_t cnt=0;911 897 if (next_schedule_entry.priority!=1) 912 898 { … … 917 903 // keep sending preambles repeatedly 918 904 919 // MOD_CCA 13 jan 2010 : Just throw on the radio and let it roll 905 // MOD_CCA 13 jan 2010 : Just throw on the radio in serial mode and let it roll 906 #ifdef TDMA_STATS_COLLECT 907 stats_start_rdo(); 908 #endif 920 909 rf_carrier_on(); 910 911 #ifdef JAM_CHECK_DEBUG 912 PORTA |= BM(JAM_CHECK_DEBUG); 913 #endif 921 914 922 915 // this timing needs perfected … … 924 917 while (_nrk_high_speed_timer_get() < (DATA_SLOT_START_TICKS+DELTA_SLOT_OFFSET)) 925 918 { 926 927 #ifdef TDMA_STATS_COLLECT928 stats_start_rdo();929 #endif930 919 931 920 /* … … 937 926 nrk_high_speed_timer_wait(0,TDMA_DELTA_SLOT_TICKS * ((_nrk_high_speed_timer_get() / TDMA_DELTA_SLOT_TICKS)+1)); 938 927 rf_carrier_off(); 939 cnt++;940 928 */ 929 930 } 941 931 942 932 #ifdef TDMA_STATS_COLLECT … … 944 934 #endif 945 935 946 }947 948 936 // MOD_CCA 13 Jan 2010 949 937 rf_carrier_off(); 938 939 #ifdef JAM_CHECK_DEBUG 940 PORTA &= ~BM(JAM_CHECK_DEBUG); 941 #endif 950 942 951 943 //rf_set_preamble_length(2); // 3 bytes, 802.15.4 compliant … … 1037 1029 rf_polling_rx_on (); 1038 1030 1039 printf("cnt %d\r\n",cnt);1040 1031 n = 0; 1041 1032 … … 1070 1061 //nrk_gpio_clr(NRK_DEBUG_1); 1071 1062 //printf("Leaving tx %20"PRIu32" : %20"PRIu32"\r\n",current_time.secs,current_time.nano_secs); 1063 nrk_kprintf(PSTR("no pkt\r\n")); 1064 1065 #ifdef TDMA_STATS_COLLECT 1066 sprintf(mpkt_log[mpkt_log_curbuf++], "DELR %u %u %u %20"PRIu32" %20"PRIu32"", mpkt_sender, mpkt_rcvid, my_addr16, 1067 current_time.secs, current_time.nano_secs); 1068 #endif 1072 1069 return; 1073 1070 } … … 1249 1246 nrk_led_clr (GREEN_LED); 1250 1247 #endif 1248 1249 #ifdef TDMA_STATS_COLLECT 1250 sprintf(mpkt_log[mpkt_log_curbuf++], "DELR %u %u %u %20"PRIu32" %20"PRIu32"", mpkt_sender, mpkt_rcvid, my_addr16, 1251 current_time.secs, current_time.nano_secs); 1252 #endif 1253 1251 1254 //printf("mp %02lX\r\n",mini_pkt_val); 1252 1255 //printf("minipkt from 0x%02lX %u, %u\r\n", mini_pkt_val, mp_correct, mp_rcv); … … 1339 1342 #ifdef TDMA_PREAMBLE_HANDSHAKE 1340 1343 #ifdef TDMA_STATS_COLLECT 1341 //stats_start_rdo();1344 stats_start_rdo(); 1342 1345 #endif 1343 1346 //rf_rx_on(); 1344 1347 // MOD_CCA 13 Jan 2010: 1345 rf_set_cca_mode(1); 1348 rf_set_cca_mode(2); 1349 rf_polling_rx_on(); 1350 nrk_spin_wait_us(128); // 8 symbol periods 1351 #else 1352 #ifdef TDMA_STATS_COLLECT 1353 stats_start_rdo(); 1354 #endif 1355 rf_polling_rx_on(); 1356 nrk_spin_wait_us(128); // 8 symbol periods 1346 1357 #endif 1347 1358 … … 1354 1365 //if (SFD_IS_1) 1355 1366 // MOD_CCA 13 Jan 2010: use CCA (modified method) 1356 if (! _tdma_channel_check())1367 if (!CCA_IS_1) 1357 1368 #else 1358 if (!_tdma_channel_check()) // if channel activity 1369 //if (!_tdma_channel_check()) // if channel activity 1370 if (!CCA_IS_1) 1359 1371 #endif 1360 1372 { 1361 1373 // Detected channel activity 1362 //#ifdef TDMA_TEXT_DEBUG1374 #ifdef TDMA_TEXT_DEBUG 1363 1375 nrk_kprintf(PSTR("NO STEAL\r\n")); 1364 //#endif1376 #endif 1365 1377 1366 1378 #ifdef TDMA_STATS_COLLECT … … 1370 1382 #if defined(TDMA_PREAMBLE_HANDSHAKE) && defined(TDMA_STATS_COLLECT) 1371 1383 stats_stop_rdo(); 1384 #elif defined(TDMA_STATS_COLLECT) // no preamble, but still collecting stats 1385 stats_stop_rdo(); 1372 1386 #endif 1373 1387 nrk_led_set(GREEN_LED); 1388 rf_set_cca_mode(1); 1374 1389 return; 1375 1390 } 1376 1391 } 1377 while (_nrk_high_speed_timer_get() < (TDMA_DELTA_SLOT_TICKS * (next_schedule_entry.priority )));1392 while (_nrk_high_speed_timer_get() < (TDMA_DELTA_SLOT_TICKS * (next_schedule_entry.priority * 2))); 1378 1393 #ifdef STEALCHECK_DEBUG 1379 1394 PORTA &= ~BM(STEALCHECK_DEBUG); … … 1388 1403 #ifdef TDMA_PREAMBLE_HANDSHAKE 1389 1404 // MOD_CCA 13 Jan 2010 1390 rf_set_cca_mode( 2);1405 rf_set_cca_mode(1); 1391 1406 #endif 1392 1407 … … 1519 1534 //printf("mpkt %20"PRIu32"\r\n", send_value); 1520 1535 1521 #ifdef TDMA_TEXT_DEBUG1522 nrk_kprintf(PSTR("Sent mpkt\r\n"));1523 #endif1524 1525 1536 #ifdef TDMA_STATS_COLLECT 1526 1537 // submit the minipacket log using sprintf … … 1529 1540 nrk_time_get(¤t_time); 1530 1541 nrk_time_compact_nanos(¤t_time); 1531 sprintf(mpkt_log[mpkt_log_curbuf++], "DELT %u %u %u %20"PRIu32" %20"PRIu32"", my_addr16, minipkt_id-1, my_parent,1532 current_time.secs, current_time.nano_secs);1533 1542 } 1534 1543 #endif … … 1572 1581 { 1573 1582 // first make sure it's the end of my delta slot 1574 nrk_high_speed_timer_wait(0, (DELTA_SLOT_OFFSET + (TDMA_DELTA_SLOT_TICKS * ( next_schedule_entry.priority+ 1))));1583 nrk_high_speed_timer_wait(0, (DELTA_SLOT_OFFSET + (TDMA_DELTA_SLOT_TICKS * ((next_schedule_entry.priority*2) + 1)))); 1575 1584 #ifdef JAM_CHECK_DEBUG 1576 1585 PORTA |= BM(JAM_CHECK_DEBUG); … … 1584 1593 //rf_rx_set_serial(); 1585 1594 //rf_rx_on(); 1586 rf_set_cca_mode(2); 1595 rf_set_cca_mode(2); // set CCA mode to check if receiving valid 802.15 data. 1596 rf_polling_rx_on(); 1597 nrk_spin_wait_us(128); // 8 symbol periods 1587 1598 while (_nrk_high_speed_timer_get() < (DATA_SLOT_START_TICKS + DELTA_SLOT_OFFSET) && 1588 (v = _tdma_channel_check()));1599 (v = CCA_IS_1)); 1589 1600 //(v = !(SFD_IS_1))); 1590 1601 #else 1602 #ifdef TDMA_STATS_COLLECT 1603 stats_start_rdo(); 1604 #endif 1605 rf_polling_rx_on(); 1606 nrk_spin_wait_us(128); 1591 1607 // wait while we are still before the data slot start time and the channel is free 1592 1608 while (_nrk_high_speed_timer_get() < (DATA_SLOT_START_TICKS + DELTA_SLOT_OFFSET) && 1593 (v = _tdma_channel_check())); 1609 //(v = _tdma_channel_check())); 1610 (v = CCA_IS_1)); 1611 #ifdef TDMA_STATS_COLLECT 1612 stats_stop_rdo(); 1613 #endif 1594 1614 #endif 1595 1615 … … 1599 1619 { 1600 1620 //nrk_kprintf(PSTR("ClrChan\r\n")); 1601 //#ifdef TDMA_TEXT_DEBUG1602 nrk_kprintf(PSTR("Parent didn't hear mpkt\r\n"));1603 //#endif1621 #ifdef TDMA_TEXT_DEBUG 1622 nrk_kprintf(PSTR("No ack\r\n")); 1623 #endif 1604 1624 nrk_led_set(GREEN_LED); 1605 1625 #ifdef TDMA_PREAMBLE_HANDSHAKE … … 1615 1635 PORTA &= ~BM(JAM_CHECK_DEBUG); 1616 1636 #endif 1637 #ifdef TDMA_STATS_COLLECT 1638 // submit the minipacket log using sprintf 1639 if (next_schedule_entry.type == TDMA_TX_PARENT) 1640 { 1641 sprintf(mpkt_log[mpkt_log_curbuf++], "DELT %u %u %u %20"PRIu32" %20"PRIu32"", my_addr16, minipkt_id-1, my_parent, 1642 current_time.secs, current_time.nano_secs); 1643 } 1644 #endif 1617 1645 return; 1618 1646 } … … 1622 1650 stats_stop_rdo(); 1623 1651 #endif 1652 rf_set_cca_mode(1); 1624 1653 rf_rx_off(); 1625 1654 rf_data_mode(); … … 1731 1760 nrk_led_clr (RED_LED); 1732 1761 #endif 1762 1763 #ifdef TDMA_STATS_COLLECT 1764 // submit the minipacket log using sprintf 1765 if (next_schedule_entry.type == TDMA_TX_PARENT) 1766 { 1767 sprintf(mpkt_log[mpkt_log_curbuf++], "DELT %u %u %u %20"PRIu32" %20"PRIu32"", my_addr16, minipkt_id-1, my_parent, 1768 current_time.secs, current_time.nano_secs); 1769 } 1770 #endif 1733 1771 1734 1772 } // END TDMA_TX … … 1865 1903 { 1866 1904 nrk_wait(period_delay_time); 1867 #ifdef TDMA_TEXT_DEBUG 1868 nrk_kprintf(PSTR("Wait ing for tdma_init()\r\n"));1905 #ifdef TDMA_TEXT_DEBUG_ALL 1906 nrk_kprintf(PSTR("Wait on tdma_init\r\n")); 1869 1907 #endif 1870 1908 } … … 1877 1915 // otherwise fail out. 1878 1916 #ifdef TDMA_TREEMAKE 1879 #ifdef TDMA_TEXT_DEBUG1880 nrk_kprintf(PSTR("call tree_create\r\n"));1881 #endif1882 1883 1917 tdma_tree_create(tdma_channel); 1884 1918 #ifdef TDMA_STATS_COLLECT 1885 1919 nrk_time_get(&tree_creation_time); 1886 1920 #endif 1887 1888 1921 #else 1889 1922 nrk_kprintf(PSTR("TDMA_SCHED_TREE specified, but TDMA_TREEMAKE not defined.\r\n")); … … 1909 1942 } 1910 1943 1911 #ifdef TDMA_TEXT_DEBUG 1944 #ifdef TDMA_TEXT_DEBUG_ALL 1912 1945 printf("TDMA Started\r\n"); 1913 1946 #endif … … 1993 2026 if (n != 1) 1994 2027 { 1995 #ifdef TDMA_TEXT_DEBUG 2028 #ifdef TDMA_TEXT_DEBUG_ALL 1996 2029 printf("FAILED recv: n = %d\r\n", n); 1997 2030 #endif … … 2358 2391 _tdma_tx(next_schedule_entry.slot); // send sync 2359 2392 tdma_rfTxInfo.length = tmp_length; 2360 #ifdef TDMA_TEXT_DEBUG 2361 nrk_kprintf(PSTR("Sent sync packet\r\n"));2393 #ifdef TDMA_TEXT_DEBUG_ALL 2394 nrk_kprintf(PSTR("Sent sync\r\n")); 2362 2395 #endif 2363 2396 } … … 2372 2405 { 2373 2406 if (next_schedule_entry.priority == 0) 2374 nrk_kprintf(PSTR("Normal send\r\n")); 2407 #ifdef TDMA_TEXT_DEBUG_ALL 2408 nrk_kprintf(PSTR("Normal send\r\n")) 2409 #endif 2410 ; 2375 2411 else 2376 2412 nrk_kprintf(PSTR("DIDSTEAL\r\n")); … … 2379 2415 #endif 2380 2416 } 2381 #ifdef TDMA_TEXT_DEBUG 2417 #ifdef TDMA_TEXT_DEBUG_ALL 2382 2418 else 2383 2419 nrk_kprintf(PSTR("Nothing to send\r\n")); 2384 2420 #endif 2385 2421 } 2386 #ifdef TDMA_TEXT_DEBUG 2422 #ifdef TDMA_TEXT_DEBUG_ALL 2387 2423 else 2388 nrk_kprintf(PSTR("Sl ave andinvalid slot type\r\n"));2424 nrk_kprintf(PSTR("Slv: invalid slot type\r\n")); 2389 2425 #endif 2390 2426 } 2391 #ifdef TDMA_TEXT_DEBUG 2427 #ifdef TDMA_TEXT_DEBUG_ALL 2392 2428 else 2393 nrk_kprintf(PSTR("M aster andinvalid slot type\r\n"));2429 nrk_kprintf(PSTR("Mstr: invalid slot type\r\n")); 2394 2430 #endif 2395 2431 -
nano-RK/src/net/tdma_asap/tdma_asap.h
r1026 r1032 90 90 //CHANGED 91 91 // 3000 92 #define TDMA_SLOT_DATA_TIME_US 8724 92 93 // commented out 13 Jan 2010 94 //#define TDMA_SLOT_DATA_TIME_US 8724 95 93 96 #define TDMA_TICKS_PER_SLOT 12 94 97 … … 120 123 //#define DATA_SLOT_START_TICKS 58982 121 124 //CHANGED 122 #define DATA_SLOT_START_TICKS 22118 125 126 // commented out 13 Jan 2010: Good for 9 children, 10 delta slots 127 //#define DATA_SLOT_START_TICKS 22118 128 //#define SFD_TO_SLOT_TIME 48703 129 //#define TDMA_SLOT_DATA_TIME_US 8724 130 //#define TREE_MAX_CHILDREN 9 131 132 133 // New times: for 10 children, 11 delta slots 134 #define DATA_SLOT_START_TICKS 24431 135 #define SFD_TO_SLOT_TIME 47729 136 #define TDMA_SLOT_DATA_TIME_US 8424 137 #define TREE_MAX_CHILDREN 10 123 138 124 139 // 192 uS … … 130 145 131 146 132 133 //#define TDMA_DELTA_SLOT_TICKS 5898134 //CHANGED135 147 #define TDMA_DELTA_SLOT_TICKS 2212 136 148 … … 152 164 // RTL is 27750, so 27750 + 4733 = 32483 153 165 //#define SFD_TO_SLOT_TIME 32483 154 #define SFD_TO_SLOT_TIME 48703166 //#define SFD_TO_SLOT_TIME 48703 155 167 156 168 … … 166 178 167 179 // max number of children/neighbors to keep track of 168 #define TREE_MAX_CHILDREN 9180 //#define TREE_MAX_CHILDREN 9 169 181 #define NUM_DELTA_SLOTS (TREE_MAX_CHILDREN+1) 170 182 #define TREE_MAX_NEIGHBORS 15 -
nano-RK/src/net/tdma_asap/tdma_asap_tree.c
r1031 r1032 1815 1815 */ 1816 1816 1817 //#if 01817 #if 0 1818 1818 void color_graph() 1819 1819 { … … 2196 2196 } 2197 2197 } 2198 //#endif2199 #if def COLOR_OPT2198 #endif 2199 #if 0 2200 2200 void color_graph2() 2201 2201 { -
nano-RK/src/net/tdma_asap/tdma_asap_tree.h
r1028 r1032 27 27 28 28 // whether to add stealable slots or not to schedule 29 #define SLOT_STEALING_SCHED29 //#define SLOT_STEALING_SCHED 30 30 31 31 // define whether to use discrete scheduling or regular coloring … … 59 59 uint8_t isDead; 60 60 tdma_color_t color; 61 #if def COLOR_OPT61 #if 0 62 62 tdma_color_t color2; 63 63 tdma_color_t color4; … … 74 74 #ifdef TDMA_MASTER_MODE 75 75 76 uint16_t uncolored_node_list[2][DIM]; //List of nodes that have not been colored yet.77 uint16_t colored_node_list[DIM]; //List of nodes that have been colored76 //uint16_t uncolored_node_list[2][DIM]; //List of nodes that have not been colored yet. 77 //uint16_t colored_node_list[DIM]; //List of nodes that have been colored 78 78 uint8_t Neighbors[DIM][DIM]; //To keep track of neighbors for graph coloring 79 uint8_t colors_used[DIM]; //To record the num of colors used per level80 uint8_t colors_used_level[DIM][DIM];79 //uint8_t colors_used[DIM]; //To record the num of colors used per level 80 //uint8_t colors_used_level[DIM][DIM]; 81 81 82 #if def COLOR_OPT82 #if 0 83 83 // for OPT2 84 84 uint16_t uncolored_node_list2[2][DIM]; //List of nodes that have not been colored yet. … … 97 97 sensorInfo sensorsInfo[DIM]; 98 98 99 uint8_t graphColors[20][5];99 //uint8_t graphColors[20][5]; 100 100 //char graphColors[20][30]; 101 101
Note: See TracChangeset
for help on using the changeset viewer.
