tux-droid-svn Mailing List for Tux Droid CE (Page 190)
Status: Beta
Brought to you by:
ks156
You can subscribe to this list here.
2007 |
Jan
|
Feb
(32) |
Mar
(108) |
Apr
(71) |
May
(38) |
Jun
(128) |
Jul
(1) |
Aug
(14) |
Sep
(77) |
Oct
(104) |
Nov
(90) |
Dec
(71) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(81) |
Feb
(18) |
Mar
(40) |
Apr
(102) |
May
(151) |
Jun
(74) |
Jul
(151) |
Aug
(257) |
Sep
(447) |
Oct
(379) |
Nov
(404) |
Dec
(430) |
2009 |
Jan
(173) |
Feb
(236) |
Mar
(519) |
Apr
(300) |
May
(112) |
Jun
(232) |
Jul
(314) |
Aug
(58) |
Sep
(203) |
Oct
(293) |
Nov
(26) |
Dec
(109) |
2010 |
Jan
(19) |
Feb
(25) |
Mar
(33) |
Apr
(1) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Paul_R <c2m...@c2...> - 2008-06-30 09:47:28
|
Author: Paul_R Date: 2008-06-30 11:47:23 +0200 (Mon, 30 Jun 2008) New Revision: 1282 Modified: software/tuxgi/trunk/tuxgi.py Log: * Incremented a delay on the status thread Modified: software/tuxgi/trunk/tuxgi.py =================================================================== --- software/tuxgi/trunk/tuxgi.py 2008-06-30 09:45:33 UTC (rev 1281) +++ software/tuxgi/trunk/tuxgi.py 2008-06-30 09:47:23 UTC (rev 1282) @@ -322,7 +322,7 @@ ,gtk.ICON_SIZE_BUTTON) gtk.gdk.threads_leave() - time.sleep(0.05) + time.sleep(0.1) # ----------------------------------------------------------------------------- # Tab "main" events # ----------------------------------------------------------------------------- |
From: Paul_R <c2m...@c2...> - 2008-06-30 09:45:49
|
Author: Paul_R Date: 2008-06-30 11:45:33 +0200 (Mon, 30 Jun 2008) New Revision: 1281 Removed: tux_lib/ Log: * Removed unused directory |
From: remi <c2m...@c2...> - 2008-06-27 11:05:33
|
Author: remi Date: 2008-06-27 13:05:37 +0200 (Fri, 27 Jun 2008) New Revision: 1280 Modified: software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile Log: * Replaced a linked library Modified: software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile 2008-06-27 06:58:44 UTC (rev 1279) +++ software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile 2008-06-27 11:05:37 UTC (rev 1280) @@ -12,7 +12,7 @@ C_PREPROC = CFLAGS = -pipe -std=gnu99 -DUSE_MUTEX -Wall -g0 -O2 -fPIC LIB_DIRS = -LIBS = -lgthread-2.0 -lm +LIBS = -lpthread -lm LDFLAGS = -pipe -shared SRC_OBJS = \ |
From: Paul_R <c2m...@c2...> - 2008-06-27 06:58:39
|
Author: Paul_R Date: 2008-06-27 08:58:44 +0200 (Fri, 27 Jun 2008) New Revision: 1279 Modified: software/tuxgi/trunk/tuxgi.py Log: * Fix a bug with the flippers movements Modified: software/tuxgi/trunk/tuxgi.py =================================================================== --- software/tuxgi/trunk/tuxgi.py 2008-06-26 20:16:02 UTC (rev 1278) +++ software/tuxgi/trunk/tuxgi.py 2008-06-27 06:58:44 UTC (rev 1279) @@ -410,25 +410,21 @@ # On flippers up radiobutton toggled #-------------------------------------------------------------------------- def on_flippers_up_toggled(self, widget, *args): - def _funct(): - global toggled_by_event - if toggled_by_event: return - if widget.get_active(): - tux.flippers.up() + global toggled_by_event + if toggled_by_event: return + if widget.get_active(): + tux.flippers.up() - thread.start_new_thread(_funct,()) #-------------------------------------------------------------------------- # On flippers down radiobutton toggled #-------------------------------------------------------------------------- def on_flippers_down_toggled(self, widget, *args): - def _funct(): - global toggled_by_event - if toggled_by_event: return - if widget.get_active(): - tux.flippers.down() + global toggled_by_event + if toggled_by_event: return + if widget.get_active(): + tux.flippers.down() - thread.start_new_thread(_funct,()) #-------------------------------------------------------------------------- # On flippers flap button clicked |
From: remi <c2m...@c2...> - 2008-06-26 20:15:56
|
Author: remi Date: 2008-06-26 22:16:02 +0200 (Thu, 26 Jun 2008) New Revision: 1278 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_sw_status.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile software_suite_v2/middleware/tuxdriver/trunk/win32/Makefile Log: * Enabled / fixed the mutex protections. Need for asynchronous use of cmd sending and status requesting from the USB. Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c 2008-06-26 14:26:03 UTC (rev 1277) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c 2008-06-26 20:16:02 UTC (rev 1278) @@ -1248,6 +1248,9 @@ { if (ret != E_TUXDRV_INVALIDCOMMAND) { +#ifdef USE_MUTEX + mutex_unlock(__macro_mutex); +#endif return(ret); } } @@ -1259,6 +1262,9 @@ { if (ret != E_TUXDRV_INVALIDCOMMAND) { +#ifdef USE_MUTEX + mutex_unlock(__macro_mutex); +#endif return(ret); } } @@ -1296,6 +1302,9 @@ { if (ret != E_TUXDRV_INVALIDCOMMAND) { +#ifdef USE_MUTEX + mutex_unlock(__macro_mutex); +#endif return(ret); } } Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_sw_status.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_sw_status.c 2008-06-26 14:26:03 UTC (rev 1277) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_sw_status.c 2008-06-26 20:16:02 UTC (rev 1278) @@ -504,15 +504,6 @@ if (make_event) { -#ifdef USE_MUTEX - mutex_lock(__status_mutex); -#endif - - -#ifdef USE_MUTEX - mutex_unlock(__status_mutex); -#endif - if (event_funct) { /* Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-26 14:26:03 UTC (rev 1277) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-26 20:16:02 UTC (rev 1278) @@ -171,36 +171,23 @@ mutex_lock(__connected_mutex); #endif usb_connected = value; - if (value) - { #ifdef USE_MUTEX - mutex_lock(__callback_mutex); + mutex_unlock(__connected_mutex); #endif + if (value) + { if (dongle_connect_function) { dongle_connect_function(); } -#ifdef USE_MUTEX - mutex_unlock(__callback_mutex); -#endif } else { -#ifdef USE_MUTEX - mutex_lock(__callback_mutex); -#endif if (dongle_disconnect_function) { dongle_disconnect_function(); } -#ifdef USE_MUTEX - mutex_unlock(__callback_mutex); -#endif } - -#ifdef USE_MUTEX - mutex_unlock(__connected_mutex); -#endif } /** @@ -479,7 +466,7 @@ set_read_loop_started(true); - log_info("Start the statuses read loop"); + log_info("Start the read loop"); while (tux_usb_connected()) { @@ -505,7 +492,7 @@ set_read_loop_started(false); - log_info("Statuses read loop stopped"); + log_info("Read loop stopped"); } /** Modified: software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile 2008-06-26 14:26:03 UTC (rev 1277) +++ software_suite_v2/middleware/tuxdriver/trunk/unix/Makefile 2008-06-26 20:16:02 UTC (rev 1278) @@ -10,7 +10,7 @@ TARGET = libtuxdriver.so C_INCLUDE_DIRS = -I"../../../../../../../usr/local/include" C_PREPROC = -CFLAGS = -pipe -std=gnu99 -DUSB_DEBUG0 -DSHOW_EVENTS -DNO_MOTORS_CHECK -DNO_THREAD -Wall -g0 -O2 -fPIC +CFLAGS = -pipe -std=gnu99 -DUSE_MUTEX -Wall -g0 -O2 -fPIC LIB_DIRS = LIBS = -lgthread-2.0 -lm LDFLAGS = -pipe -shared @@ -44,13 +44,13 @@ define build_target @echo Linking... -@$(CC) -o "$(OUTPUT_DIR)/$(TARGET)" $(SRC_OBJS) $(LIB_DIRS) $(LIBS) $(LDFLAGS) -@ar rcs $(OUTPUT_DIR)/libtuxdriver.a $(SRC_OBJS) +-@$(CC) -o "$(OUTPUT_DIR)/$(TARGET)" $(SRC_OBJS) $(LIB_DIRS) $(LIBS) $(LDFLAGS) +-@ar rcs $(OUTPUT_DIR)/libtuxdriver.a $(SRC_OBJS) endef define compile_source @echo Compiling $< -@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@" +-@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@" endef .PHONY: print_header directories Modified: software_suite_v2/middleware/tuxdriver/trunk/win32/Makefile =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/win32/Makefile 2008-06-26 14:26:03 UTC (rev 1277) +++ software_suite_v2/middleware/tuxdriver/trunk/win32/Makefile 2008-06-26 20:16:02 UTC (rev 1278) @@ -10,7 +10,7 @@ TARGET = libtuxdriver.dll C_INCLUDE_DIRS = -I"E:\MinGWStudio\MinGW\include\ddk" C_PREPROC = -CFLAGS = -pipe -Wall -g2 -O0 +CFLAGS = -pipe -DUSE_MUTEX -Wall -g2 -O0 RC_INCLUDE_DIRS = RC_PREPROC = RCFLAGS = |
From: jaguarondi <c2m...@c2...> - 2008-06-26 14:25:56
|
Author: jaguarondi Date: 2008-06-26 16:26:03 +0200 (Thu, 26 Jun 2008) New Revision: 1277 Modified: firmware/hex_dev/new_rf/fuxusb.hex Log: * Paul fixed the bootloading issue in LibUSB mode. Modified: firmware/hex_dev/new_rf/fuxusb.hex =================================================================== --- firmware/hex_dev/new_rf/fuxusb.hex 2008-06-26 14:00:43 UTC (rev 1276) +++ firmware/hex_dev/new_rf/fuxusb.hex 2008-06-26 14:26:03 UTC (rev 1277) @@ -1,521 +1,503 @@ -:1017B6001218C512104D300905120FFE80F51209D8 -:0317C6000780F0A9 -:0C18C500438F01C281D2A3D2AF020E54A7 -:0C18D100C8040401C9000004CA000000A3 -:060E54001219F643BC80F8 -:100E5A009001C11201EE0000271043BC109001C19D -:100E6A00E0FCA3E0FDA3E0FEA3E0FFEC4D4E4F60E3 -:100E7A0018EF24FFFFEE34FFFEED34FFFDEC34FFE4 -:0C0E8A00FC9001C11201E280D453BCEFC7 -:100E96007D80E4FF1219EFE4FF1218421217605327 -:080EA600F1FC43F101D2B3227B -:10104D00E5BD30E5051218AB8012E5BD30E40512A3 -:10105D00199D8008E5BD30E003121994E5BD30E31C -:10106D000E53BDF712155190016BE0600214F09014 -:10107D0001B9E0600B1218805006200503121919F2 -:0B108D00120D87E5F8600312127422B8 -:041646004101B900A5 -:100EAE00E5CFF0A3E5CFF0A3E5CFF0A3E5CFF02299 -:100EBE009001B6E4F07412A3F09001BB74FFF0A39E -:100ECE002253CEFB43CE802253CEFD53CE7F2290B3 -:100EDE0001BBE0FBA3E0FAA3E0F92253CE7F53CE91 -:100EEE00FB229001B6E4F0A322F053CEFB43CE10CA -:080EFE0022E4F5CF43CE1022DF -:10176000E49001BFF0A3F0A3F09001B9F09001E381 -:06177000F09001E2F022FE -:100006007D857F011219EF7F011218427D817F02E3 -:100016001219EF7F021218427D817F031219EF7FBA -:10002600031218427D877F041219EF7F04121842CB -:0C0036007D837F051219EF7F0502184240 -:061A0400E4F5C7020AB47C -:100AB4009001BAE5CFF09001B8E5CFF09001BAE02B -:100AC400546070739001B8E024FEB40A005066903C -:100AD4000AE175F003A4C58325F0C58373020B34C2 -:100AE400020B39020B39020B09020AFF020B39020D -:100AF4000B04020B0E020B1E020B2F120621806F39 -:100B0400121666806A12174880659001BAE0700573 -:100B14001214B2805A12185380559001BAE0B4816D -:100B24000512196C804912188F8044120DF0803F11 -:100B3400121776803A80329001BAE05460642070D3 -:100B4400289001B8E0247E600F146011146013240F -:100B540003701412168480171216A280121216043F -:100B6400800D1216258008800053CEFB12186253A4 -:030B7400CE7F220F -:101748009001C1E5CFF053CEFB43BC0112190D90B7 -:0717580001C1E04480F5C669 -:01175F002267 -:1014B200AFCF120EE9EFD39401501B9001B9EFF0B8 -:1014C200B401091215051215E112197612190D123D -:0914D200000643BC02221218625C -:0114DB0022EE -:100DF0009001C1120EAE120EE99001C3E0B40318C7 -:100E00009001C1E070129001E3F09001E2F07F04E4 -:100E10001218427F051218429001C3E0B4010C90F1 -:100E200001C1E0B401057F811218429001C3E0B412 -:100E3000020C9001C1E0B401057F0212184290013A -:100E4000C3E0B4050C9001C1E0B401057F031218A2 -:040E50004202190D34 -:10062100C20AAFCFAECFEE24FE60171460292402B8 -:100631006003020711120EBE7402F0A3744BF002A4 -:10064100071B9001B67401F07420120EC57403F0FB -:10065100A37423F002071BEFB40900400302071142 -:10066100900668F82828730206830206900206A203 -:100671000206AF0206C10206DE0206CD0206EF0245 -:100681000700120EBE7402F0A3745DF002071B1284 -:100691000EF0740C120EC67402F0A3746FF0020710 -:1006A1001B120EBE7402F0A3747BF002071B120E24 -:1006B100F0740C120EC67402F0A3748DF002071BC5 -:1006C100120EBE7402F0A37499F0804E120EF074F3 -:1006D1001E120EC67402F0A374CDF0803D120EF00E -:1006E1007422120EC67402F0A374ABF0802C120EA9 -:1006F100F0741A120EC67402F0A374EBF0801B1290 -:100701000EF0741E120EC67403F0A37405F0800A75 -:1007110053CEFB12186253CE7F22E5CFE5CF900175 -:10072100C2E5CFF09001C1E5CFF09001B6E0FEA3A4 -:10073100E0FF9001C1E0FCA3E0FDD39FEC9E400CE3 -:10074100EF541F60028001D3920A80089001B6EC39 -:10075100F0A3EDF0120ECFD39001B7E094209001F9 -:10076100B6E09400400B120EDD7D2012116D40E7C2 -:1007710022120EDD9001B6A3E0FD12116D50293059 -:100781000A0A120EDDE4FD12116D501CE5CE544231 -:100791007005E5CE30E2F5E5CE20E20CE5CE54421F -:0807A100600653CE7F53CEFD2C -:0107A900222D -:10116D009001C3EDF01217DB9001BBEBF0A3EAF099 -:10117D00A3E9F09001C3E0FFC39001B7E09FF090A9 -:10118D0001B6E09400F0E5CE54427005E5CE30E0B6 -:10119D00F553CEFEE5CE5442600853CEEF53CEFD4F -:0411AD00C322D32264 -:10166600120ECF9001B9E0F5CF43CE10E5CE30E0B3 -:0E167600FB53CEFEE5CE544260FA120ED62291 -:0A196C00120ECF12186253CE7F2234 -:100FAE00E5CFE5CFAFCF120ECF9001BAE0247F6030 -:100FBE000C14600E2402701975CF018014E4F5CF65 -:100FCE00800FEF547F24BEF582E43401F583E0F503 -:100FDE00CF120EFFE5CE30E0FBE5CE20E2F653CE8B -:0F0FEE00FEE5CE544260FAE5CE20E2F5120ED6B3 -:010FFD0022D1 -:1010E1009001BAE0700280379001BAE0B401028049 -:1010F1002E9001BAE06402702CE5CF7028E5CFAFE5 -:10110100CFEF247F701975C70143CE20E4F5C79056 -:1011110001BF04120EF7E5CE30E0FB53CEFE2253A1 -:06112100CEFB1218622251 -:100F06009001BAE0700280479001BAE0B401028015 -:100F16003E9001BAE06402703CE5CF7038E5CFAF91 -:100F2600CFEF601F247F702775C70153CEDF7F0187 -:100F3600121842E4F5C79001BF120EF7E5CE30E075 -:100F4600FB8008120EF8E5CE30E0FB53CEFE2253AE -:060F5600CEFB121862221E -:101684009001C1120EAE120ECF120EFFE5CE30E065 -:0D169400FB53CEFEE5CE544260FA120ED696 -:0116A1002226 -:1016A2009001C1120EAE120ECF120EFFE5CE30E047 -:0D16B200FB53CEFEE5CE544260FA120ED678 -:0116BF002208 -:101604009001C1120EAE120ECF75CF0A43CE10E573 -:10161400CE30E0FB53CEFEE5CE544260FA120ED635 -:0116240022A3 -:101625009001C1120EAE120ECF75CF0143CE10E55B -:10163500CE30E0FB53CEFEE5CE544260FA120ED614 -:011645002282 -:0C18DD009001CE120EAE120EE902190DA1 -:0C18E9009001D2120EAE120EE902190D91 -:0C18F5009001D6120EAE120EE902190D81 -:0C1901009001DA120EAE120EE902190D70 -:0F18530053CEFBE5CE544260FA53CEFD02190D81 -:0E188F00E5CF9001B5E5CFF053CEFB02190D69 -:10177600120ECF9001B5E0F5CF12190DE5CE544209 -:0617860060FA120ED622EB -:0F18620043CE20E5CE30E3FB53CEDF53CEF7224B -:0C190D0043CE10E5CE30E0FB53CEFE22AE -:10024B001201100100000020EB0307FF4100010227 -:10025B00030112030904000000000000000000006D -:10026B00000000000C034B00790073006F00680066 -:10027B001203540075007800440072006F0069008F -:10028B0064000C03310030003000300031001203E9 -:10029B00540075007800440072006F006900640020 -:1002AB002203540075007800440072006F0069004F -:1002BB0064002D0053007000650061006B00650049 -:1002CB0072001E03540075007800440072006F002A -:1002DB00690064002D004D006900630072006F001F -:1002EB001A03540075007800440072006F00690017 -:1002FB0064002D005400540053001E03540075007D -:10030B007800440072006F00690064002D0041000A -:10031B007500640069006F0009022001060104806A -:10032B00320904000000010100080A240100013415 -:10033B00000201020C240201010200010000000670 -:10034B000C24020201010001000005000924030333 -:10035B00010100010609240304010300020509043D -:10036B00010000010200060904010101010200065F -:10037B00072401030102000B2402010101080140C3 -:10038B001F0009058101080001000007250100007D -:10039B00000009040200000102000509040201012A -:1003AB0001020005072401020102000B24020101D6 -:1003BB00010801803E000905020110000100000741 -:1003CB0025010000000009040300020000000007E3 -:1003DB0005840340000107050503400001090404DF -:1003EB0000000101000709240100011E0001050C9A -:1003FB002402070101000100000007092403080182 -:10040B0003000707090405000001020007090405A2 -:10041B00010101020007072401070102000B24025E -:10042B000101010801401F0009050301080001003B -:08043B0000072501000000008C -:06164A00C106C107C10545 -:10127400E5F830E00BE4F5C7E5CE30E203121A04DA -:10128400E5F830E10312189DE5F830E2031217A1E6 -:10129400E5F830E30312178CE5F830E40312159BEC -:0C12A400E5F830E5061211B112135B22D0 -:1017C9009001E3E0600B75C704E5CE20E40343CE46 -:0217D9001022DC -:0C19190075C7011216DE43CE10D2052265 -:0E189D0075C701E5CE30E00553CEFEC2052230 -:10178C0075C70330060B121A34EF60057F0812166A -:05179C00FA53CEFD220E -:1017A10075C70220060B121A34EF60057F1012165E -:0517B100FA53CEFD22F9 -:10135B0075C7059001E2E0FF700CE5CE30E1075355 -:10136B00CEFD7401F022EFB4010EE5CE30E6095349 -:10137B00CEBFE49001E2F022E5CE30E60453CEBFBF -:05138B002253CEFD22FB -:10159B0075C704E5CE30E01A53CEFE9001E3E0149C -:1015AB00F0E0C394005002E4F09001E3E0600343E9 -:0315BB00CE10222D -:1015BE00EF24FFFFEE34FFFEED34FFFDEC34FFFCB5 -:1015CE000201E2E0FCA3E0FDA3E0FEA3E0FFEC4D90 -:0315DE004E4F224B -:1011B10075C705E5CE5442603A121A34EF14900116 -:1011C1006AF0AFCFE4FE90016AE0FDEEC39D5010DE -:1011D100742A2EF582E43401F583E5CFF00E80E622 -:1011E100EF600A24FE60090470090209F0D20322AB -:0311F100120C9C41 -:0111F40022D8 -:100D87003007659001E3E0C39402505C75C704E443 -:100D9700F5CF30A303FF80027F018FCF90009BE048 -:100DA700F5CFE51060071313543FFF80027F008FD4 -:100DB700CFE4F517E517C3951050091217FE8FCF2B -:100DC700051780F0851017E517C3943C5007E4F525 -:100DD700CF051780F21219769001E3E004F012179D -:080DE700C9E490009BF0C20773 -:010DEF0022E1 -:1013C40075C70475CFF0EF60047F0080027F018F42 -:1013D400CFAF058FCFAF038FCF9001C5E0F5CFE43A -:1013E400FFE4F5CF0FEFB43BF89001E3E004F00223 -:0213F40017C917 -:1009F00090012AE070012290012AE0B401209001C8 -:100A00002DE02403600F14600F14600F14600302C4 -:100A10000A97D2072202150502139002109890013E -:100A20002AE0B4020DA3E0600614706BD20622C265 -:100A3000062290012AE06406705D1219769018D1A2 -:100A4000120A989018D2120A989018D3120A9F90FE -:100A500018D4120A9F9018D5120AA69018D6120A16 -:100A6000A69018D6E4740193FF1216C09018D812FD -:100A70000AAD9018D9120AAD9018DAE493FF121655 -:100A8000C09018DAE4740193FF1216C09018DCE4E9 -:100A900093FF1216C0D20722E493FF1216C022E47D -:100AA00093FF1216C022E493FF1216C022E493FFB4 -:040AB0001216C02238 -:0A139000E4F5A8F5B175C314C2819D -:10139A009001C11201EE0000271043BC109001C158 -:1013AA001215D160089001C11215BE80F053BCEF2E -:0A13BA00D2B375A61E75A6E180FEF1 -:10109800E4F5A8F5B175C314D2B3C2817B067D010E -:0E10A8007F041217157B017DF47F04121715CB -:1010B6009001C11201EE0000271043BC109001C13F -:1010C6001215D160089001C11215BE80F053BCEF15 -:0B10D6001219D975A61E75A6E180FE58 -:0919940053BDFE43BC40C2812298 -:0D18AB0053BCBF53BDFE53BDDF53BDF7223C -:09199D0053BDEF12176002197628 -:08165000C181C104C102C10007 -:10157700900102E02406FFE433FE900105E022E437 -:10158700900104F0900103F022F582E43400F58322 -:04159700E0F5C52294 -:0C192500121586D201D291C202C2042227 -:1015E10053AFFE43C31043C30253C3F753C3FB437B -:1015F100C32043C340D2B2D2B4D291D288D2A8126E -:0316010015862229 -:03000300020F5C8D -:100F5C00C0E0C083C082C0D075D000C007D2B7300B -:100F6C009104C2B78031E5C420E704C2B780289051 -:100F7C000106E0FF04F0749C2FF582E43400F58345 -:100F8C00E5C5F0900106E0FFB43204D291800674FE -:100F9C00CE2F121590C2B7D007D0D0D082D083D02C -:020FAC00E03231 -:10090700D2B620B404C2008015200012D200C291D2 -:10091700E4900106F0E024CE121590C2B622209191 -:1009270003C2B622900106E0C3943250030209EDD8 -:10093700E4F09001C1F030032FC203E04402F0E479 -:10094700A3F09001C2E0FF242AF582E43401F58385 -:10095700E0FE74D12FF582E43400F583EEF09001C8 -:10096700C2E004F0E0B404DA1219E8EFC3942240BD -:10097700129001C1E04404F07B017A0079D57D2211 -:1009870012132590009AE0FF04F09000CEEFF0904C -:1009970001C1E09000CFF090009CE0FF900099E04B -:1009A7006F6043EFF090009DE09001C1F030E124CB -:1009B700E4A3F09001C2E0FFC394045017749F2F83 -:1009C700F582E43400F583E0FF1216C09001C2E01F -:1009D70004F080DF9001C1E030E20B7B017A0079FF -:0809E700A37D111212B0C2B68B -:0109EF0022E5 -:1004430030B410C204E4900105F0121587C201C252 -:1004530091D202200203020620200403020620E4B4 -:100463009001C8F0C204900104E0FF7017900101ED -:10047300300304740A80027402F0F5C59001047419 -:1004830001F08051EFB40116900105E0B41106901C -:1004930001047402F0900101E020E13980349001FD -:1004A30004E0FF64027027A3E0FEB4150F9001017E -:1004B300E030E302C2039001047403F0900101E011 -:1004C30030E30974062EF8E6F5C580098004EFB41D -:1004D3000303E4F5C5900105E004F0900103E0FF98 -:1004E3007030AEC4BE8003D38001C350F530A30384 -:1004F300020620900100E5C5F0E5C590010230E752 -:10050300057422F080037411F09001037401F0026A -:10051300060EEF64017045AFC4BF8003D38001C3EF -:1005230050F530A303020620900100E030E112D21F -:1005330090900105E02406F582E43401F583E5C5D6 -:10054300F0900102E0240112157D6F7001EE60034B -:1005530002060E9001037402F002060E900103E0FE -:100563006402600302060EAFC4BF8003D38001C3DD -:1005730050F530A303020620900100E0F930E34E6A -:10058300900102E0FF2405FDE433FC900105E0FB4C -:100593007A00D39DEC6480F87480985015C3EB9F68 -:1005A300FFEA9400FE74C82FF58274013EF583E5DB -:1005B300C5F0121577B50716E4B50612900107E5E5 -:1005C300C5F0E0FF90009BE0C39F5002EFF01215CF -:1005D300776F7001EE7034C202D291D201E930E339 -:1005E3003C9001CAE06036E49001C9F09001C9E093 -:1005F30024CAF582E43401F583E0FF1216C09001AA -:10060300C9E004F0E0C3940440E2229001C8E0048E -:0D061300F0300409E0C394055003020467B1 -:0106200022B7 -:041658004101A800A4 -:1013F600742A2FF582E43401F583E0FF9001A9E019 -:10140600FE04F09001AFE0FCA3E02EF582E43CF58B -:1014160083EFF09001C1E004F022E49001C5F0FBF7 -:0114260022A3 -:100C9C0090012AE0B40105121236803120090E129F -:100CAC0014207D01FF1213C41219C1802090012A57 -:100CBC00E0B4030F1219C11214207DFE7F01121330 -:100CCC00C4800A90012AE0B40203120B779001AAA7 -:100CDC00E0FF9001B1E0FEB507259001B4E0FD9076 -:100CEC0001A9E0B505199001B3E02DF09001B2E037 -:100CFC003400F0E49001A9F09001B1F0D20822EE9A -:100D0C00C39F400C1214207D05FF1213C41219C18D -:010D1C0022B4 -:100FFE0090016BE0704830084578C17C017D017B23 -:10100E00017A0179AB7E007F061201169001C7743A -:10101E0040F0121486900097E020E0F990016B7476 -:10102E0014F0900097E0C413135401FF9001A8E050 -:0F103E0004FDF0E49001C5F0FB1213C4C20822B8 -:100B77009001B1E0707790012BE09001ACF0A3E415 -:100B8700F090012CE0FF9001ADE02FF09001ACE078 -:100B97003400F090016AE0B4040280399001ACE0BF -:100BA700FEA3E0FFEE547FFC9001B2E06C7003A35C -:100BB700E06F6024EF64C07003EE641D601A90015B -:100BC700ACE0640E7004A3E064C0600C1214207DD6 -:100BD70003FF1213C41219C19001C17403F09001ED -:100BE700C1E0FFC39423501A1213F680F19001C19C -:100BF7007401F09001C1E0FFC3942150051213F670 -:080C070080F19001B1E004F05E -:010C0F0022C2 -:1012360090016B74FAF01217ED12152B90012BE04A -:1012460025E09001ABF090012CE09001B4F0900104 -:101256002DE09001AAF0E49001B2F0A3F09001A96C -:0E126600F09001B1F09001A8F0D209C2A822C8 -:0819C100C209121505021925E7 -:1017ED00121A1B1219E19001AF7400F0A37403F0EB -:0117FD0022C9 -:10148600900097E054BFF09001C1E0900098F09072 -:1014960001C2E0FCA3E0FDEC900001F0A3EDF090AA -:0C14A60001C7E02402900096F0021871CB -:1011270090008AE0FF04F0748B2FF582E43400F519 -:1011370083E595F022E0FF04F074012FF582E43493 -:1011470000F58322900096E0FF900000E0C39F2205 -:10115700E0FBA3E0FAA3E0F9EA494B22A3E0FAA3F4 -:06116700E0F5828A8322FC -:041A1B00759380221D -:0719E1007593C043B102221F -:0C193100900083EBF0A3EAF0A3E9F022A1 -:0C193D00900087EBF0A3EAF0A3E9F02291 -:0F187100900097E04401F0E4900000F0021A1F8D -:041A1F0043932022AB -:0B196100439310900097E054FEF0222A -:031A2B008F952272 -:041A230043930422C3 -:041A27005393FB22B8 -:031A2E00AF95224F -:031A3100AF94224D -:030043000207AA07 -:1007AA00C0E0C0F0C083C082C0D075D008AF94EF5B -:1007BA0012021F08F600080F08080F100817180879 -:1007CA0037200817280837300841380847400837C3 -:1007DA004808445008345808576008576808577042 -:1007EA00085778086D80087F88086D90087F9808F8 -:1007FA0086A008B2A808B2B008D9B80841C0084112 -:10080A00C8000008F95393DF900098800812114B32 -:10081A00500B12113CE0FF121A2B0208F91219614F -:10082A00900097E04440F00208F9121127900097CF -:10083A00E04402F00208F60208F11211279000863D -:10084A00E014FF90008AE0C39F502780229000970F -:10085A00E04401F090008AE4F0900097E054FBF045 -:10086A000208E712112790008AE0C3940850030295 -:10087A0008E70208EC900097E04404F01219E190AE -:10088A000083121157601890008AE0FF7B017A00FA -:10089A00798BC00A900083121163D00A1202499020 -:1008AA000097E054FEF08047900087121157601AB3 -:1008BA007B017A007901C00A900087121163D00A7D -:1008CA007F82120249900096EFF0900000E4F090C7 -:1008DA00000012113CE0F59512114B5005121A2333 -:1008EA00800D121A2780081219E180031219615328 -:0D08FA0093F7D0D0D082D083D0F0D0E03280 -:061A0A00E4F514F51322BF -:0719E800C3E5139514FF2273 -:1016FA008F17C3E51395146480600FAF130513EFBA -:0A170A00547F2422F8A6CFD517E87B -:0117140022B2 -:0B1325009001C3EBF0A3EAF0A3E9F095 -:10133000E4FFEFC39D5023AE140514EE547F242226 -:10134000F8E6FE9001C3E0FBA3E0FAA3E0F98F8288 -:0A135000758300EE1201940F80D89F -:01135A002270 -:061A1000E4F516F51522B5 -:0F188000C3E5159516D394204003D38001C322EE -:0512B0009001C3EDF008 -:1012B500A3F0C3E51595166440602B9001C4E0FFCB -:1012C5009001C3E0C39FFFE494008F82F583120170 -:1012D50055FFAE150515EE543F24A2F8A60790015B -:0612E500C4E014F070CC1F -:0112EB0022E0 -:1016DE007F08E516B5150575CF80800DAE1605167B -:0B16EE00EE543F24A2F8E6F5CFDFE742 -:0116F90022CE -:02165C00C10BC0 -:0A197600E4F512F511F510C20B2282 -:1016C000300B03121976AE100510746C2EF582E4FF -:0E16D0003401F583EFF0E510B43C02D20B229A -:1017FE00AF110511746C2FF582E43401F583E0FF0F -:01180E0022B7 -:02165E00C10CBD -:10182000E0FEA3E0FFE4FCFDFB7AFAF9F8D3020145 -:01183000CCEB -:10150500D291C281E49001C2F0A3F09001C21218F9 -:101515002040109001C3E004F070F09001C2E00497 -:05152500F080E8D28116 -:01152A00229E -:10152B00C291C281E49001C1F0A3F09001C11218E5 -:10153B002040109001C2E004F070F09001C1E00473 -:05154B00F080E8D281F0 -:011550002278 -:10180F0020A304D20CD322300C03121505C20CC333 -:01181F0022A6 -:051660004201E400005E -:1015510030090A7D207C017F007E01801520A30ACD -:101561007D207C007F107E0080087D007C047F0050 -:061571007E031214272284 -:101427009001E5E004F070069001E4E004F090011B -:10143700E4E0FAA3E0FBB50707EAB50603C2B32267 -:10144700C3EB9DEA9C4009D2B3E49001E4F0A3F01A -:011457002272 -:0D18B80012013CF5CF740129F9E43AFA223F -:0719EF008FC7AF058FD42262 -:1012EC0030F805E4F5C7802E30F90575C701802666 -:1012FC0030FA0575C702801E30FB0575C7038016D2 -:10130C0030FC0575C704800E30FD0575C7058006D9 -:09131C0030FE0375C706AFC722BD -:031A3400AFE222FC -:0919A600AFE3EFFEADE2EDFF221C -:1017DB00E4F5C7AF051DEF60051218B880F543CED1 -:0217EB001022CA -:0C194900AF051DEF60051218B880F522F4 -:10183100AF051DEF600AE5CF1201821218BD80F0DD -:011841002284 -:0919AF008FC7E4F5CE43CE2022DF -:101842007401A807088002C333D8FCF5D5E4F5D5A6 -:011852002273 -:0719F60075A41043A30222B7 -:0719FD001219F643BC802221 -:1014DC0041746D656C202852290A63353133312DE6 -:1014EC007573622D6364632D315F305F320A0A00BD -:0914FC001B631B5B3F32356C00E1 -:0B11F5009001DEEBF0A3EAF0A3E9F0AC -:101200009001DEE0FBA3E475F0011201B6A9F0FA4B -:1012100012013C9001E1F06013E0B40A057F0D1269 -:1012200019C99001E1E0FF1219C980D47F0D12198C -:06123000C97F0A0219C982 -:0919B8007BFF7A1479FC0211F5A1 -:100D1D009001E7EDF09001E6EFF070097F0D1219EB -:100D2D00C97F0A80377F1B1219C97F5B1219C990C1 -:100D3D0001E7E0FFD394094003120D7B9001E71208 -:100D4D000D6D7F3B1219C99001E6E0FFD394094068 -:100D5D0003120D7B9001E6120D6D7F481219C92209 -:100D6D00E075F00A84E5F02430FF1219C922EF7501 -:0A0D7D00F00A842430FF1219C92285 -:051A1600A298920D22D0 -:10172F00759840538FF7438F0175CBFF75CAF375CB -:09173F00C834D2CA439812D32227 -:0819C9003099FDC2998F9922AB -:0719D1003098FDAF99C298A8 -:0119D80022EC -:0A1980008FC5E5C430E7FB7F0122AC -:0A198A0043A22012FFC053A2DF2287 -:0C1955008F1CAF058F1F12198AAF1D22D6 -:10171500A2AF920FC2AF8F1CAF038F1FAF058F1DF6 -:0917250012198AA20F92AF7F0194 -:01172E002298 -:081458009001E8EFF0A3EDF0B4 -:10146000A2AF920EC2AFE4FD7F081219559001E8B9 -:10147000E0F45FFFA3E04FF51D751C0712198AA267 -:051480000E92AF7F0198 -:011485002244 -:0819D900C2AF43A22002F4009A -:03000000020C10DF -:0C0C1000787FE4F6D8FD7581E1020C57F6 -:10004600E709F608DFFA8046E709F208DFFA803E9C -:1000560088828C83E709F0A3DFFA8032E309F60889 -:10006600DFFA8078E309F208DFFA807088828C83F1 -:10007600E309F0A3DFFA806489828A83E0A3F608A5 -:10008600DFFA805889828A83E0A3F208DFFA804C7F -:1000960080D280FA80C680D4806980F28033801056 -:1000A60080A680EA809A80A880DA80E280CA8033BF -:1000B60089828A83ECFAE493A3C8C582C8CCC58337 -:1000C600CCF0A3C8C582C8CCC583CCDFE9DEE78007 -:1000D6000D89828A83E493A3F608DFF9ECFAA9F086 -:1000E600EDFB2289828A83ECFAE0A3C8C582C8CCDC -:1000F600C583CCF0A3C8C582C8CCC583CCDFEADEF5 -:10010600E880DB89828A83E493A3F208DFF980CC56 -:1001160088F0EF60010E4E60C388F0ED2402B4044F -:100126000050B9F582EB2402B4040050AF232345F6 -:0601360082239000967385 -:10013C00BB010689828A83E0225002E722BBFE02C1 -:09014C00E32289828A83E49322F4 -:10015500BB010CE58229F582E5833AF583E022505F -:1001650006E92582F8E622BBFE06E92582F8E222A9 -:0D017500E58229F582E5833AF583E49322C3 -:10018200BB010689828A83F0225002F722BBFE015C -:02019200F32256 -:10019400F8BB010DE58229F582E5833AF583E8F0A1 -:1001A400225006E92582C8F622BBFE05E92582C84D -:0201B400F22235 -:1001B600A3F8E0C5F025F0F0E582158270021583FC -:0601C600E0C838F0E82259 -:1001CC00EB9FF5F0EA9E42F0E99D42F0EC6480C8AA -:0601DC0064809845F0224A -:0C01E200ECF0A3EDF0A3EEF0A3EFF02290 -:1001EE00A8828583F0D083D08212020512020512F6 -:1001FE000205120205E473E493A3C583C5F0C5831B -:10020E00C8C582C8F0A3C583C5F0C583C8C582C85A -:01021E0022BD -:10021F00D083D082F8E4937012740193700DA3A36E -:10022F0093F8740193F5828883E473740293686082 -:06023F00EFA3A3A380DF82 -:060245008A838982E47344 -:100C1C000217B6E493A3F8E493A34003F68001F221 -:100C2C0008DFF48029E493A3F85407240CC8C333D9 -:100C3C00C4540F4420C8834004F456800146F6DFA8 -:100C4C00E4800B0102040810204080901646E47EDC -:100C5C00019360BCA3FF543F30E509541FFEE4939D -:100C6C00A360010ECF54C025E060A840B8E493A364 -:100C7C00FAE493A3F8E493A3C8C582C8CAC583CA8F -:100C8C00F0A3C8C582C8CAC583CADFE9DEE780BE47 -:011665000084 +:101614001217E6120006300905120F8280F5121621 +:08162400DC50F012026980EBBA +:0C17E600438F01C281D2A3D2AF020E2AB1 +:0C17F200C8040401C9000004CA00000083 +:060E2A0012190D43BC800B +:100E300090011E1205E10000271043BC1090011E16 +:100E4000E0FCA3E0FDA3E0FEA3E0FFEC4D4E4F600D +:100E500018EF24FFFFEE34FFFEED34FFFDEC34FF0E +:0C0E6000FC90011E1205D580D453BCEF9D +:100E6C007D80E4FF121906E4FF12174612165C533C +:080E7C00F1FC43F101D2B322A5 +:10000600E5BD30E5051217CC8012E5BD30E40512DA +:1000160018BB8008E5BD30E0031218B2E5BD30E339 +:100026000E53BDF712147B9000FCE0600214F01230 +:0D00360013B1120D5DE5F860031211742284 +:0415A80041010E00EF +:100E8400E5CFF0A3E5CFF0A3E5CFF0A3E5CFF022C3 +:100E940090010BE4F07412A3F090011074FFF0A31E +:100EA4002253CEFB43CE802290010BE4F0A32253C5 +:100EB400CEFD53CE7F22900110E0FBA3E0FAA3E025 +:100EC400F92253CE7F53CEFB22F053CEFB43CE10F8 +:080ED40022E4F5CF43CE102209 +:10165C00E4900114F0A3F0A3F090010EF090013A85 +:06166C00F0900139F022AC +:1011B3007D857F011219067F011217467D817F020B +:1011C3001219067F021217467D817F031219067FCB +:1011D300031217467D877F041219067F04121746F0 +:0C11E3007D837F051219067F0502174668 +:06191B00E4F5C7020A1307 +:100A130090010FE5CFF090010DE5CFF090010FE0CD +:100A23005460707390010DE024FEB40A0050669088 +:100A33000A4075F003A4C58325F0C58373020A93A6 +:100A4300020A98020A98020A68020A5E020A9802D7 +:100A53000A63020A6D020A7D020A8E12063E806F45 +:100A630012154E806A12162C806590010FE07005F6 +:100A73001213DC805A121757805590010FE0B4818E +:100A83000512188080491217A28044120DC6803FB8 +:100A9300121672803A803290010FE0546064207025 +:100AA3002890010DE0247E600F146011146013245C +:100AB30003701412156C801712158A801212150C0C +:100AC300800D12152D8008800053CEFB121766533C +:030AD300CE7F22B1 +:10162C0090011EE5CFF053CEFB43BC0112182E9057 +:07163C00011EE04480F5C629 +:011643002284 +:1013DC00AFCF120EC6EFD39401501B90010EEFF05D +:1013EC00B4010912142F1214A112189412182E12EF +:0913FC0011B343BC022212176672 +:0114050022C4 +:100DC60090011E120E84120EC6900120E0B4031884 +:100DD60090011EE0701290013AF0900139F07F0404 +:100DE6001217467F05121746900120E0B4010C90B9 +:100DF600011EE0B401057F81121746900120E0B480 +:100E0600020C90011EE0B401057F02121746900104 +:100E160020E0B4050C90011EE0B401057F03121713 +:040E26004602182E3A +:10063E00C20AAFCFAECFEE24FE601E14605424E289 +:10064E00603E14602924216003020759120E94742F +:10065E0000F0A37446F002076390010B7401F0746E +:10066E004B120E9B7401F0A3741EF0020763120E60 +:10067E00AC7422120E9C7402F0A37447F00207634E +:10068E00120EAC7409120E9C7401F0A374D5F00214 +:10069E000763EFB4090040030207599006B0F8282B +:1006AE0028730206CB0206D80206EA0206F70207F4 +:1006BE0009020726020715020737020748120E9491 +:1006CE007400F0A37458F0020763120EAC740C128F +:1006DE000E9C7400F0A3746AF0020763120E9474F9 +:1006EE0000F0A37476F0020763120EAC740C120EB7 +:1006FE009C7400F0A37488F0020763120E947400C9 +:10070E00F0A37494F0804E120EAC741E120E9C74F4 +:10071E0000F0A374C8F0803D120EAC7422120E9C31 +:10072E007400F0A374A6F0802C120EAC741A120E84 +:10073E009C7400F0A374E6F0801B120EAC741E12B3 +:10074E000E9C7401F0A37400F0800A53CEFB1217B6 +:10075E006653CE7F22E5CFE5CF90011FE5CFF09017 +:10076E00011EE5CFF090010BE0FEA3E0FF90011E0D +:10077E00E0FCA3E0FDD39FEC9E400CEF541F600203 +:10078E008001D3920A800890010BECF0A3EDF012D9 +:10079E000EA5D390010CE0942090010BE094004044 +:1007AE000B120EBA7D201210EF40E722120EBA90F5 +:1007BE00010BA3E0FD1210EF5029300A0A120EBAF7 +:1007CE00E4FD1210EF501CE5CE54427005E5CE301C +:1007DE00E2F5E5CE20E20CE5CE5442600653CE7F24 +:0307EE0053CEFDEA +:0107F10022E5 +:1010EF00900120EDF0121701900110EBF0A3EAF040 +:1010FF00A3E9F0900120E0FFC390010CE09FF09076 +:10110F00010BE09400F0E5CE54427005E5CE30E0DF +:10111F00F553CEFEE5CE5442600853CEEF53CEFDCD +:04112F00C322D322E2 +:10154E00120EA590010EE0F5CF43CE10E5CE30E0A1 +:0E155E00FB53CEFEE5CE544260FA120EB322CD +:0A188000120EA512176653CE7F2248 +:100F3200E5CFE5CFAFCF120EA590010FE0247F6081 +:100F42000C14600E2402701975CF018014E4F5CFE1 +:100F5200800FEF547F2413F582E43401F583E0F52A +:100F6200CF120ED5E5CE30E0FBE5CE20E2F653CE31 +:0F0F7200FEE5CE544260FAE5CE20E2F5120EB352 +:010F8100224D +:1010630090010FE07002803790010FE0B40102801D +:101073002E90010FE06402702CE5CF7028E5CFAF0E +:10108300CFEF247F701975C70143CE20E4F5C790D5 +:10109300011404120ECDE5CE30E0FB53CEFE2253F5 +:0610A300CEFB12176622CD +:100EDC0090010FE07002804790010FE0B401028096 +:100EEC003E90010FE06402703CE5CF7038E5CFAF67 +:100EFC00CFEF601F247F702775C70153CEDF7F01B2 +:100F0C00121746E4F5C7900114120ECDE5CE30E071 +:100F1C00FB8008120ECEE5CE30E0FB53CEFE225302 +:060F2C00CEFB1217662245 +:10156C0090011E120E84120EA5120ED5E5CE30E09F +:0D157C00FB53CEFEE5CE544260FA120EB3D2 +:01158900223F +:10158A0090011E120E84120EA5120ED5E5CE30E081 +:0D159A00FB53CEFEE5CE544260FA120EB3B4 +:0115A7002221 +:10150C0090011E120E84120EA575CF0A43CE10E563 +:10151C00CE30E0FB53CEFEE5CE544260FA120EB351 +:01152C00229C +:10152D0090011E120E84120EA575CF0143CE10E54B +:10153D00CE30E0FB53CEFEE5CE544260FA120EB330 +:01154D00227B +:0C17FE00900125120E84120EC602182E57 +:0C180A00900129120E84120EC602182E46 +:0C18160090012D120E84120EC602182E36 +:0C182200900131120E84120EC602182E26 +:0F17570053CEFBE5CE544260FA53CEFD02182E5E +:0E17A200E5CF90010AE5CFF053CEFB02182EE2 +:10167200120EA590010AE0F5CF12182EE5CE5442C3 +:0616820060FA120EB32213 +:0F17660043CE20E5CE30E3FB53CEDF53CEF72248 +:0C182E0043CE10E5CE30E0FB53CEFE228E +:100046001201100100000020EB0307FF410001022E +:100056000301120309040000000000000000000074 +:10006600000000000C034B00790073006F0068006D +:100076001203540075007800440072006F00690096 +:1000860064000C03310030003000300031001203F0 +:10009600540075007800440072006F006900640027 +:1000A6002203540075007800440072006F00690056 +:1000B60064002D0053007000650061006B00650050 +:1000C60072001E03540075007800440072006F0031 +:1000D600690064002D004D006900630072006F0026 +:1000E6001A03540075007800440072006F0069001E +:1000F60064002D005400540053001E035400750084 +:100106007800440072006F00690064002D00410011 +:100116007500640069006F00090229010601048068 +:10012600320904000000010100080A24010001341C +:10013600000201020C240201010200010000000677 +:100146000C2402020101000100000500092403033A +:100156000101000106092403040103000205090444 +:100166000100000102000609040101010102000666 +:10017600072401030102000B2402010101080140CA +:100186001F00090581010800010000072501000084 +:100196000000090402000001020005090402010131 +:1001A60001020005072401020102000B24020101DD +:1001B600010801401F0009050201080001000007AF +:1001C60025010000000009040300020300000009E5 +:1001D60021100100012222000705840340000107C7 +:1001E6000505034000010904040000010100070998 +:1001F600240100011E0001050C2402070101000173 +:100206000000000709240308010300070709040585 +:1002160000000102000709040501010102000707A9 +:100226002401070102000B24020101010801401FFD +:100236000009050301080001000007250100000070 +:10024600000600FF0901A1010903150026FF00951C +:1002560040750881020904150026FF0095407508BF +:030266009102C042 +:0615AC00C106C107C105E4 +:10117400E5F830E00BE4F5C7E5CE30E20312191BC5 +:10118400E5F830E1031217B0E5F830E20312169DDA +:10119400E5F830E303121688E5F830E4031214C6C8 +:0F11A400E5F830E509300006120C7C1212282203 +:1016EF0090013AE0600B75C704E5CE20E40343CECA +:0216FF001022B7 +:0E13B10090010EE06024121793501F20051CBF +:1013BF0075C70190011E7408F01216C78FCF9001E8 +:0C13CF001EE014F0E070F243CE10D205D6 +:0113DB0022EF +:0E17B00075C701E5CE30E00553CEFEC205221E +:1016880075C70330060B12194EEF60057F08121557 +:05169800C653CEFD2247 +:10169D0075C70220060B12194EEF60057F08121553 +:0516AD00C653CEFD2232 +:1012280075C705900139E0FF700CE5CE30E1075332 +:10123800CEFD7401F022EFB4010EE5CE30E609537D +:10124800CEBFE4900139F022E5CE30E60453CEBF9C +:051258002253CEFD222F +:1014C60075C704E5CE30E01A53CEFE90013AE0141B +:1014D600F0E0C394005002E4F090013AE060034368 +:0314E600CE102203 +:1014E900EF24FFFFEE34FFFEED34FFFDEC34FFFC8B +:1014F9000205D5E0FCA3E0FDA3E0FEA3E0FFEC4D6F +:031509004E4F2220 +:100C7C0075C705E5CE5442606D12194EEF14900005 +:100C8C00FBF0AFCFE490011EF09000FBE0FE900172 +:100C9C001EE0FDC39E501574BB2DF582E43400F5A7 +:100CAC0083E5CFF090011EE004F080DDEF600A24B4 +:100CBC00FE603004703002094FC200D203E4900190 +:100CCC001EF090011EE0FF24BBF582E43400F58396 +:100CDC00E0FE74182FF8A60690011EE004F0E0B4B4 +:060CEC0004E022120BFBE4 +:010CF20022DF +:100D5D0030076590013AE0C39402505C75C704E416 +:100D6D00F5CF30A303FF80027F018FCF900116E0F6 +:100D7D00F5CFE51060071313543FFF80027F008FFE +:100D8D00CFE4F517E517C3951050091218758FCFDD +:100D9D00051780F0851017E517C3943C5007E4F54F +:100DAD00CF051780F212189490013AE004F0121654 +:080DBD00EFE4900116F0C207FB +:010DC500220B +:1012910075C70475CFF0EF60047F0080027F018F76 +:1012A100CFAF058FCFAF038FCF900123E0F5CFE410 +:1012B100FFE4F5CF0FEFB43BF890013AE004F00200 +:0212C10016EF26 +:10094F009000BBE07001229000BBE0B4012090004A +:10095F00BEE02403600F14600F14600F14600302D5 +:10096F0009F6D2072202142F02125D020FD1900056 +:10097F00BBE0B4020DA3E0600614706BD20622C276 +:10098F0006229000BBE06406705D1218949017F277 +:10099F001209F79017F31209F79017F41209FE9046 +:1009AF0017F51209FE9017F6120A059017F7120A9B +:1009BF00059017F7E4740193FF1216449017F9127C +:1009CF000A0C9017FA120A0C9017FBE493FF1216F9 +:1009DF00449017FBE4740193FF1216449017FDE443 +:1009EF0093FF121644D20722E493FF12164422E417 +:1009FF0093FF12164422E493FF12164422E493FF4E +:040A0F001216442255 +:0A125D00E4F5A8F5B175C314C281D1 +:1012670090011F1205E10000271043BC1090011FD9 +:101277001214FC600890011F1214E980F053BCEFB0 +:0A128700D2B375A61E75A6E180FE25 +:100FD100E4F5A8F5B175C314D2B3C2817B067D01D6 +:0E0FE1007F041215E17B017DF47F041215E1FF +:100FEF0090011F1205E10000271043BC1090011F54 +:100FFF001214FC600890011F1214E980F053BCEF2B +:0B100F001218F775A61E75A6E180FE02 +:0918B20053BDFE43BC40C281227B +:0D17CC0053BCBF53BDFE53BDDF53BDF7221C +:0918BB0053BDEF12165C021894F3 +:0615B200C181C104C10269 +:0A188A00E490011BF090011AF02217 +:0E17BE0012188AD201D291C202C204D20022B5 +:1014A10053AFFE43C31043C30253C3F753C3FB43BC +:1014B100C32043C340D2B2D2B4D291D288D2A812AF +:0514C100188AD2002290 +:030003000219429D +:03194200D204329A +:1002690030B410C204E490011CF012188BC201C210 +:1002790091D202200203020487200403020487E4C6 +:1002890090011EF0C20490011BE0702C12178450DB +:100299000E900118300304740A80127402800E3023 +:1002A900030790011874088004E4900118F0F5C55B +:1002B90090011B7401F0805790011BE0B40119A350 +:1002C900E0B4110690011B7402F0900118E030E1CE +:1002D9003B1216B28FC5803790011BE0FF64027094 +:1002E90027A3E0FEB4150F900118E030E302C20322 +:1002F90090011B7403F0900118E030E30974062E95 +:10030900F8E6F5C580098004EFB40303E4F5C59068 +:10031900011CE004F090011AE0FF7030AEC4BE8009 +:1003290003D38001C350F530A3030204879001175A +:10033900E5C5F0E5C590011930E7057422F08003A1 +:100349007411F090011A7401F0020475EF640170E0 +:100359004AAFC4BF8003D38001C350F530A3030261 +:100369000487900117E030E112D29090011CE0243B +:1003790097F582E43400F583E5C5F0900119E0248E +:1003890001FFE433FE90011CE06F7001EE6003028F +:10039900047590011A7402F002047590011AE06460 +:1003A900026003020475AFC4BF8003D38001C35048 +:1003B900F530A303020487900117E0F930E3579061 +:1003C9000119E0FF2405FDE433FC90011CE0FB7AF0 +:1003D90000D39DEC6480F87480985015C3EB9FFF9F +:1003E900EA9400FE741E2FF58274013EF583E5C57B +:1003F900F0900119E02406FFE433FE90011CE0B5FA +:100409000714E4B50610A3E5C5F0E0FF900116E076 +:10041900C39F5002EFF0900119E0FF2406FDE43379 +:10042900FC90011CE06D7001EC7041D200C202D257 +:1004390091D201E9548260031212C3900117E0308E +:10044900E33C900120E06036E490011FF090011F29 +:10045900E02420F582E43401F583E0FF121644908C +:10046900011FE004F0E0C3940440E22290011EE081 +:0E04790004F0300409E0C39405500302028D24 +:010487002252 +:0415B8004100FD00F1 +:1012F50074BB2FF582E43400F583E0FF9000FEE037 +:10130500FE04F0900104E0FCA3E02EF582E43CF538 +:1013150083EFF090011FE004F022E4900123F0FB3D +:0113250022A5 +:100BFB009000BBE0B4010512101A803120090E12CF +:100C0B00131F7D01FF1212911218DF80209000BB81 +:100C1B00E0B4030F1218DF12131F7DFE7F011212B7 +:100C2B0091800A9000BBE0B40203120AD69000FF39 +:100C3B00E0FF900106E0FEB50725900109E0FD906D +:100C4B0000FEE0B50519900108E02DF0900107E0DA +:100C5B003400F0E49000FEF0900106F0D20822EE92 +:100C6B00C39F400C12131F7D05FF1212911218DF48 +:010C7B002256 +:100F82009000FCE07048300845781E7C017D017BB2 +:100F9200017A0179007E007F0612055890012474BF +:100FA20040F0121385900097E020E0F99000FC7465 +:100FB20014F0900097E0C413135401FF9000FDE079 +:0F0FC20004FDF0E4900123F0FB121291C208220B +:100AD600900106E070779000BCE0900101F0A3E47D +:100AE600F09000BDE0FF900102E02FF0900101E0E0 +:100AF6003400F09000FBE0B404028039900101E07C +:100B0600FEA3E0FFEE547FFC900107E06C7003A3A8 +:100B1600E06F6024EF64C07003EE641D601A9001FC +:100B260001E0640E7004A3E064C0600C12131F7D24 +:100B360003FF1212911218DF90011F7403F0900147 +:100B46001FE0FFC39423501A1212F580F190011F83 +:100B56007401F090011FE0FFC3942150051212F5B5 +:080B660080F1900106E004F0AB +:010B6E002264 +:10101A009000FC74FAF01217131214559000BCE0F9 +:10102A0025E0900100F09000BDE0900109F09000E9 +:10103A00BEE09000FFF0E4900107F0A3F09000FEFC +:10104A00F0900106F09000FDF0D209C2A8900123A9 +:09105A00F0FB7DFF7F0102129101 +:0818DF00C20912142F0217BE0A +:101713001219321218FF9001047400F0A37403F03D +:0117230022A3 +:10138500900097E054BFF090011EE0900098F09017 +:10139500011FE0FCA3E0FDEC900001F0A3EDF0904F +:0C13A5000124E02402900096F00217756D +:1010A90090008AE0FF04F0748B2FF582E43400F598 +:1010B90083E595F022E0FF04F074012FF582E43412 +:1010C90000F58322900096E0FF900000E0C39F2284 +:1010D900E0FBA3E0FAA3E0F9EA494B22A3E0FAA373 +:0610E900E0F5828A83227B +:041932007593802207 +:0718FF007593C043B1022202 +:0C183A00900083EBF0A3EAF0A3E9F02299 +:0C184600900087EBF0A3EAF0A3E9F02289 +:0F177500900097E04401F0E4900000F002193674 +:041936004393202295 +:0B186A00439310900097E054FEF02222 +:031945008F952259 +:04193A0043930422AD +:04193E005393FB22A2 +:03194800AF952236 +:03194B00AF942234 +:030043000207F2BF +:1007F200C0E0C0F0C083C082C0D075D008AF94EF13 +:10080200120612093E00085708085710085F180818 +:100812007F20085F28087F30088938088F40087FCA +:1008220048088C50087C58089F60089F68089F7091 +:10083200089F7808B58008C78808B59008C7980847 +:10084200CEA008FAA808FAB00921B80889C0088918 +:10085200C8000009415393DF90009880081210CD20 +:10086200500B1210BEE0FF12194502094112186A1C +:10087200900097E04440F00209411210A9900097BD +:10088200E04402F002093E0209391210A9900086E2 +:10089200E014FF90008AE0C39F50278022900097C7 +:1008A200E04401F090008AE4F0900097E054FBF0FD +:1008B20002092F1210A990008AE0C3940850030283 +:1008C200092F020934900097E04404F01218FF90B7 +:1008D20000831210D9601890008AE0FF7B017A0031 +:1008E200798BC00A9000831210E5D00A12063C9060 +:1008F2000097E054FEF080479000871210D9601AEA +:100902007B017A007901C00A9000871210E5D00AB3 +:100912007F8212063C900096EFF0900000E4F09087 +:1009220000001210BEE0F5951210CD500512193AD2 +:10093200800D12193E80081218FF800312186A53A4 +:0D09420093F7D0D0D082D083D0F0D0E03237 +:06192100E4F514F51322A9 +:0F178400C3E5139514D394204003D38001C322EF +:1015C6008F17C3E51395146440600FAF130513EF2F +:0A15D600543F2422F8A6CFD517E8F1 +:0115E00022E8 +:1016B200E514B513037F8022AF140514EF543F24C1 +:0516C20022F8E6FF2202 +:06192700E4F516F515229F +:0F179300C3E5159516D394204003D38001C322DC +:1012C3008F17C3E515951664406026E517FDEFC338 +:1012D3009DFDE49400FC74992DF58274003CF58324 +:1012E300E0FEAD150515ED543F2462F8A606D517AB +:0112F300D129 +:0112F40022D7 +:1016C700E516B515037F8022AF160516EF543F24A4 +:0516D70062F8E6FF22AD +:0215BC00C10B61 +:0A189400E4F512F511F510C20B2265 +:10164400300B03121894AE10051074A22EF8A607DE +:08165400E510B43C02D20B22A8 +:0B187500AF11051174A22FF8E6FF224E +:0215BE00C10C5E +:10172400E0FEA3E0FFE4FCFDFB7AFAF9F8D302053E +:01173400BFF5 +:10142F00D291C281E4900120F0A3F0900120121715 +:10143F00244010900121E004F070F0900120E004AE +:05144F00F080E8D281ED +:011454002275 +:10145500C291C281E490011FF0A3F090011F121701 +:10146500244010900120E004F070F090011FE0048A +:05147500F080E8D281C7 +:01147A00224F +:1016DC0020A304D20CD322300C0312142FD200C23C +:0216EC000CC32D +:0116EE0022D9 +:0515C00042013B0000A8 +:10147B0030090A7D207C017F007E01801520A30AA4 +:10148B007D207C007F107E0080087D007C047F0027 +:06149B007E03121326225D +:1013260090013CE004F0700690013BE004F090016F +:101336003BE0FAA3E0FBB50707EAB50603C2B32212 +:10134600C3EB9DEA9C4009D2B3E490013BF0A3F0C5 +:011356002274 +:0D17D90012057EF5CF740129F9E43AFA22D9 +:071906008FC7AF058FD4224B +:1011EF0030F805E4F5C7802E30F90575C701802664 +:1011FF0030FA0575C702801E30FB0575C7038016D0 +:10120F0030FC0575C704800E30FD0575C7058006D7 +:09121F0030FE0375C706AFC722BB +:03194E00AFE222E3 +:0918C400AFE3EFFEADE2EDFF22FF +:10170100E4F5C7AF051DEF60051217D980F543CE8B +:021711001022A4 +:0C185200AF051DEF60051217D980F522CC +:10173500AF051DEF600AE5CF1205971217DE80F0A1 +:011745002281 +:0918CD008FC7E4F5CE43CE2022C2 +:101746007401A807088002C333D8FCF5D5E4F5D5A3 +:011756002270 +:07190D0075A41043A30222A0 +:0719140012190D43BC8022F3 +:1014060041746D656C202852290A63353133312DBC +:101416007573622D6364632D315F305F320A0A0093 +:091426001B631B5B3F32356C00B7 +:0B113300900135EBF0A3EAF0A3E9F017 +:10113E00900135E0FBA3E475F0011205A9A9F0FAC0 +:10114E0012057E900138F06013E0B40A057F0D128F +:10115E0018E7900138E0FF1218E780D47F0D1218BF +:06116E00E77F0A0218E70A +:0918D6007BFF7A1479260211331C +:100CF30090013EEDF090013DEFF070097F0D121869 +:100D0300E77F0A80377F1B1218E77F5B1218E79093 +:100D1300013EE0FFD394094003120D5190013E12AE +:100D23000D437F3B1218E790013DE0FFD394094048 +:100D330003120D5190013D120D437F481218E72213 +:100D4300E075F00A84E5F02430FF1218E722EF750E +:0A0D5300F00A842430FF1218E72292 +:05192D00A298920D22BA +:1015FB00759840538FF7438F0175CBFF75CAF37501 +:09160B00C834D2CA439812D3225C +:0818E7003099FDC2998F99228E +:0718EF003098FDAF99C2988B +:0118F60022CF +:0A189E008FC5E5C430E7FB7F01228F +:0A18A80043A22012FFC053A2DF226A +:0C185E008F1CAF058F1F1218A8AF1D22B1 +:1015E100A2AF920FC2AF8F1CAF038F1FAF058F1D2C +:0915F1001218A8A20F92AF7F01AD +:0115FA0022CE +:0813570090013FEFF0A3EDF05F +:10135F00A2AF920EC2AFE4FD7F0812185E90013F5C +:10136F00E0F45FFFA3E04FF51D751C071218A8A24C +:05137F000E92AF7F019A +:011384002246 +:0818F700C2AF43A22002F4007D +:03000000020B6F81 +:0C0B6F00787FE4F6D8FD7581DD020BB63E +:10048800E709F608DFFA8046E709F208DFFA803E56 +:1004980088828C83E709F0A3DFFA8032E309F60843 +:1004A800DFFA8078E309F208DFFA807088828C83AB +:1004B800E309F0A3DFFA806489828A83E0A3F6085F +:1004C800DFFA805889828A83E0A3F208DFFA804C39 +:1004D80080D280FA80C680D4806980F28033801010 +:1004E80080A680EA809A80A880DA80E280CA803379 +:1004F80089828A83ECFAE493A3C8C582C8CCC583F1 +:10050800CCF0A3C8C582C8CCC583CCDFE9DEE780C0 +:100518000D89828A83E493A3F608DFF9ECFAA9F03F +:10052800EDFB2289828A83ECFAE0A3C8C582C8CC95 +:10053800C583CCF0A3C8C582C8CCC583CCDFEADEAE +:10054800E880DB89828A83E493A3F208DFF980CC10 +:1005580088F0EF60010E4E60C388F0ED2402B40409 +:100568000050B9F582EB2402B4040050AF232345B0 +:0605780082239004D873F9 +:10057E00BB010689828A83E0225002E722BBFE027B +:09058E00E32289828A83E49322AE +:10059700BB010689828A83F0225002F722BBFE0143 +:0205A700F3223D +:1005A900A3F8E0C5F025F0F0E58215827002158305 +:0605B900E0C838F0E82262 +:1005BF00EB9FF5F0EA9E42F0E99D42F0EC6480C8B3 +:0605CF0064809845F02253 +:0C05D500ECF0A3EDF0A3EEF0A3EFF02299 +:1005E100A8828583F0D083D0821205F81205F81213 +:1005F10005F81205F8E473E493A3C583C5F0C58338 +:10060100C8C582C8F0A3C583C5F0C583C8C582C863 +:0106110022C6 +:10061200D083D082F8E4937012740193700DA3A377 +:1006220093F8740193F5828883E47374029368608B +:06063200EFA3A3A380DF8B +:060638008A838982E4734D +:100B7B00021614E493A3F8E493A34003F68001F266 +:100B8B0008DFF48029E493A3F85407240CC8C3337B +:100B9B00C4540F4420C8834004F456800146F6DF4A +:100BAB00E4800B01020408102040809015A8E47E1D +:100BBB00019360BCA3FF543F30E509541FFEE4933F +:100BCB00A360010ECF54C025E060A840B8E493A306 +:100BDB00FAE493A3F8E493A3C8C582C8CAC583CA31 +:100BEB00F0A3C8C582C8CAC583CADFE9DEE780BEE9 +:0115C5000025 :00000001FF |
From: Paul_R <c2m...@c2...> - 2008-06-26 14:00:35
|
Author: Paul_R Date: 2008-06-26 16:00:43 +0200 (Thu, 26 Jun 2008) New Revision: 1276 Modified: firmware/fuxusb/branches/new_rf/src/usb_commands.c Log: * Apply patch (rev 1275) from the trunk Modified: firmware/fuxusb/branches/new_rf/src/usb_commands.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-06-26 13:58:48 UTC (rev 1275) +++ firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-06-26 14:00:43 UTC (rev 1276) @@ -135,7 +135,9 @@ */ void bl_acknowledge(uint8_t ack, uint8_t p1, uint8_t p2, uint8_t p3) { +#ifdef HID_DEVICE uint8_t i; +#endif Usb_select_ep(EP_CMD_IN); Usb_write_byte(BOOTLOADER_CMD); @@ -144,10 +146,12 @@ Usb_write_byte(p2); Usb_write_byte(p3); +#ifdef HID_DEVICE for (i = 0; i < 59; i ++) { Usb_write_byte(0); } +#endif CMD_IN_Bank_Nb ++; |
From: Paul_R <c2m...@c2...> - 2008-06-26 13:58:39
|
Author: Paul_R Date: 2008-06-26 15:58:48 +0200 (Thu, 26 Jun 2008) New Revision: 1275 Modified: firmware/fuxusb/trunk/src/usb_commands.c Log: * Bug : The bootloader ACK must only contain 5 bytes when using libusb. Otherwise, tuxup doesn't work. Modified: firmware/fuxusb/trunk/src/usb_commands.c =================================================================== --- firmware/fuxusb/trunk/src/usb_commands.c 2008-06-26 13:46:14 UTC (rev 1274) +++ firmware/fuxusb/trunk/src/usb_commands.c 2008-06-26 13:58:48 UTC (rev 1275) @@ -139,7 +139,9 @@ */ void bl_acknowledge(uint8_t ack, uint8_t p1, uint8_t p2, uint8_t p3) { +#ifdef HID_DEVICE uint8_t i; +#endif Usb_select_ep(EP_CMD_IN); Usb_write_byte(BOOTLOADER_CMD); @@ -148,10 +150,12 @@ Usb_write_byte(p2); Usb_write_byte(p3); +#ifdef HID_DEVICE for (i = 0; i < 59; i ++) { Usb_write_byte(0); } +#endif CMD_IN_Bank_Nb ++; |
From: jaguarondi <c2m...@c2...> - 2008-06-26 13:46:06
|
Author: jaguarondi Date: 2008-06-26 15:46:14 +0200 (Thu, 26 Jun 2008) New Revision: 1274 Modified: firmware/rf/trunk/Makefile firmware/rf/trunk/bootloader.h firmware/rf/trunk/device.c firmware/rf/trunk/init.c firmware/rf/trunk/rf_ctrl.c Log: * Fixed some problems around the bootloader. We have to compile the bootlodaer to have the jump to it correctly set. Note that the bootloader is located at 0x0F00 but the entry point is at 0x0F0A. We should probably have a jump to that address instead of compiling the bootloader which doesn't fit in the flash anyway. * Removed the debug signal which was keeping the RF board in reset thanks to some clever hardwired autoreset feature ;-). Re-enable this if you want to kill your tux. Modified: firmware/rf/trunk/Makefile =================================================================== --- firmware/rf/trunk/Makefile 2008-06-26 13:41:51 UTC (rev 1273) +++ firmware/rf/trunk/Makefile 2008-06-26 13:46:14 UTC (rev 1274) @@ -42,7 +42,7 @@ HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 ## Objects that must be built in order to link -OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o #bootloader.o +OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o bootloader.o ## Objects explicitly added by the user LINKONLYOBJECTS = @@ -98,7 +98,7 @@ ## Clean target .PHONY: clean clean: - -rm -rf $(OBJECTS) device.elf dep/* fuxrf.* tuxrf.* svnrev.h + -rm -rf $(OBJECTS) device.elf dep/* $(PROJECT).* svnrev.h ## Other dependencies Modified: firmware/rf/trunk/bootloader.h =================================================================== --- firmware/rf/trunk/bootloader.h 2008-06-26 13:41:51 UTC (rev 1273) +++ firmware/rf/trunk/bootloader.h 2008-06-26 13:46:14 UTC (rev 1274) @@ -48,7 +48,11 @@ /** \ingroup tuxRF_firmware Slave address for bootloader mode */ +#if defined(_SLAVE) +#define I2C_BL_TWAR (0X32 << 1) +#elif defined(_MASTER) #define I2C_BL_TWAR (0X33 << 1) +#endif void bootloader(void) __attribute__ ((section(".bootloader"))) __attribute__ ((naked)); Modified: firmware/rf/trunk/device.c =================================================================== --- firmware/rf/trunk/device.c 2008-06-26 13:41:51 UTC (rev 1273) +++ firmware/rf/trunk/device.c 2008-06-26 13:46:14 UTC (rev 1274) @@ -71,7 +71,7 @@ {VERSION_CMD, CPU_VER_JOIN(CPU_NUMBER, VER_MAJOR), VER_MINOR, VER_UPDATE}; /* Bootloader can be included with the program */ -#define BOOTLOADER 0 +#define BOOTLOADER 1 /* Set to 1 to enable stack debugging. */ #define DBG_STACK 0 @@ -117,11 +117,16 @@ int main(void) { #if (BOOTLOADER) +#ifdef _SLAVE volatile uint16_t _count=0; for (;_count<0xFFFF; _count++); if (!(PIND & 0x40)) /* if head is pushed at startup */ asm volatile ("rjmp bootloader" ::); /* jump to bootloader */ +#elif defined(_MASTER) + if (!(PINB & 0x04)) /* if SPI_SS is cleared at startup */ + asm volatile ("rjmp bootloader" ::); /* jump to bootloader */ #endif +#endif /* System init */ init_avr(); Modified: firmware/rf/trunk/init.c =================================================================== --- firmware/rf/trunk/init.c 2008-06-26 13:41:51 UTC (rev 1273) +++ firmware/rf/trunk/init.c 2008-06-26 13:46:14 UTC (rev 1274) @@ -89,13 +89,13 @@ //PORTD.0 -> IN RX_DATA //PORTD.1 -> OUT TX_DATA/Data //PORTD.2 -> OUT PU_TRX/PU_REG - //PORTD.3 -> OUTPUT DEBUG + //PORTD.3 -> PASCAL SAID NOT TO TOUCH THIS ONE //PORTD.4 -> I/O CLK_REC/Clock //PORTD.5 -> OUT RXON //PORTD.6 -> NOT USED, PULLED UP //PORTD.7 -> LINK PORTD = 0x40; - DDRD = 0xAE; + DDRD = 0xA6; //*************PORTD*************// //***********init-needed-peripherals***************// UBRR0L = 0x05; Modified: firmware/rf/trunk/rf_ctrl.c =================================================================== --- firmware/rf/trunk/rf_ctrl.c 2008-06-26 13:41:51 UTC (rev 1273) +++ firmware/rf/trunk/rf_ctrl.c 2008-06-26 13:46:14 UTC (rev 1274) @@ -231,7 +231,6 @@ { OCR1A = OCR1A+T_RX2TX; } - PORTD ^= 0x08; // XXX DEBUG } else /* Wrong frame, just continue. */ |
From: jaguarondi <c2m...@c2...> - 2008-06-26 13:41:42
|
Author: jaguarondi Date: 2008-06-26 15:41:51 +0200 (Thu, 26 Jun 2008) New Revision: 1273 Modified: firmware/hex_dev/new_rf/fuxrf.hex firmware/hex_dev/new_rf/tuxrf.hex Log: * These new RF files should't kill your tux, the olders did. Modified: firmware/hex_dev/new_rf/fuxrf.hex =================================================================== --- firmware/hex_dev/new_rf/fuxrf.hex 2008-06-26 13:34:48 UTC (rev 1272) +++ firmware/hex_dev/new_rf/fuxrf.hex 2008-06-26 13:41:51 UTC (rev 1273) @@ -9,7 +9,7 @@ :10008000DEBFCDBF1A9901C040C709D020D0F8D239 :1000900084B1886284B93B9A7894F2D0FFCF80E231 :1000A00085B983E184B988E388B987E087B980E4BA -:1000B0008BB98EEA8AB985E08093C4001092C000A3 +:1000B0008BB986EA8AB985E08093C4001092C000AB :1000C0001092C1001092C20010926F0008959AE53C :1000D00090939A0180919A0180939901809199015E :1000E0008093980190939D0180919D0180939C0144 Modified: firmware/hex_dev/new_rf/tuxrf.hex =================================================================== --- firmware/hex_dev/new_rf/tuxrf.hex 2008-06-26 13:34:48 UTC (rev 1272) +++ firmware/hex_dev/new_rf/tuxrf.hex 2008-06-26 13:41:51 UTC (rev 1273) @@ -10,7 +10,7 @@ :100090009A83898389819A818F5F9F4FB1F74E99A7 :1000A00001C033C709D020D04AD384B1886284B953 :1000B0003B9A7894F2D0FFCF80E285B983E184B98E -:1000C00088E388B987E087B980E48BB98EEA8AB97A +:1000C00088E388B987E087B980E48BB986EA8AB982 :1000D00085E08093C4001092C0001092C10010927D :1000E000C20010926F0008959AE590939A01809152 :1000F0009A0180939901809199018093980190933E |
From: jaguarondi <c2m...@c2...> - 2008-06-26 13:34:41
|
Author: jaguarondi Date: 2008-06-26 15:34:48 +0200 (Thu, 26 Jun 2008) New Revision: 1272 Added: firmware/hex_dev/new_rf/ firmware/hex_dev/new_rf/fuxrf.hex firmware/hex_dev/new_rf/fuxusb.hex firmware/hex_dev/new_rf/tuxaudio.eep firmware/hex_dev/new_rf/tuxaudio.hex firmware/hex_dev/new_rf/tuxcore.eep firmware/hex_dev/new_rf/tuxcore.hex firmware/hex_dev/new_rf/tuxrf.hex Log: * Added a new folder with the hex files of the ongoing refactoring of the RF modules. Added: firmware/hex_dev/new_rf/fuxrf.hex =================================================================== --- firmware/hex_dev/new_rf/fuxrf.hex (rev 0) +++ firmware/hex_dev/new_rf/fuxrf.hex 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,117 @@ +:1000000021C03BC03AC039C038C037C036C035C047 +:1000100034C033C032C050C230C02FC02EC02DC03B +:100020002CC034C3EEC1A2C1D8C127C026C025C090 +:1000300024C023C0E1C29EC25FC27AC297C2A2C2DC +:10004000BAC2C9C211241FBECFEFD2E0DEBFCDBFFE +:1000500011E0A0E0B1E0ECE1F7E002C005900D9204 +:10006000A430B107D9F711E0A4E0B1E001C01D92BE +:10007000A93DB107E1F702D050C3C2CFCFEFD2E024 +:10008000DEBFCDBF1A9901C040C709D020D0F8D239 +:1000900084B1886284B93B9A7894F2D0FFCF80E231 +:1000A00085B983E184B988E388B987E087B980E4BA +:1000B0008BB98EEA8AB985E08093C4001092C000A3 +:1000C0001092C1001092C20010926F0008959AE53C +:1000D00090939A0180919A0180939901809199015E +:1000E0008093980190939D0180919D0180939C0144 +:1000F00080919C0180939B0180EF80939F01809170 +:100100009F0180939E0184E080930A0196E590937D +:100110000B012FEF20930C0190930D01809154015E +:100120008093A0019093A1012093A2019093A30139 +:1001300094E39093A40185E58093A5018093A601A3 +:100140008093A7018093A8018093A9018093AA01BD +:100150008093AB018093AC018093AD018093AE019D +:100160008093AF018093B0018093B1018093B2017D +:100170008093B3018093B4018093B5018093B6015D +:100180008093B7018093B8018093B9018093BA013D +:100190008093BB018093BC018093BD018093BE011D +:1001A0008093BF018093C0018093C1018093C201FD +:1001B0008093C3018093C4018093C5018093C601DD +:1001C0008093C7018093C8018093C9018093CA01BD +:1001D0008093CB018093CC018093CD018093CE019D +:1001E0008093CF018093D0018093D1018093D2017D +:1001F0008093D3018093D4018093D5018093D6015D +:100200009093D701089520E009C090E0000000001D +:10021000000000009F5F9031C9F72F5F2817A9F7F2 +:1002200008959091A40120E0E3EAF1E0DF011B973B +:1002300003C08081280F9150119631969230C8F7F3 +:100240002195FD01238708951F937FD05D9A80E05B +:1002500000008F5F8F3FE1F720E010E006C0822FA3 +:10026000992787709070892B19F4110F48991160A4 +:100270002F5F2134A0F372D0812F99271F91089509 +:100280008091970180648093970168D00DD010927F +:10029000C0001092C1001092C20080E290E09093E2 +:1002A0008900809388000895109285001092840040 +:1002B0001092800082E08093810080936F0086BB63 +:1002C0000895109285001092840010928000109280 +:1002D000820082E086BB10926F0083E080938100F1 +:1002E0000895299A59985C98419860FF04C0282F76 +:1002F000255E8FE711C020E090EA5C9897FF02C06E +:10030000599A01C059985C9A2F5F293011F0990FC2 +:10031000F4CF282F245E84E35C989927982F8827B0 +:100320002068820F911D20E05C9897FF02C0599AC7 +:1003300001C059985C9A2F5F203119F0880F991FDE +:10034000F3CF5C985998419A0895299A5A9A419AFC +:100350005D9828985C985998549A08955D982898C3 +:1003600029985A9841985C98599808951F920F922D +:100370000FB60F9211242F938F939F93EF93FF93B8 +:100380002091D801273009F42998E22FFF27809186 +:10039000A40199270B96E817F90759F4E856FE4F80 +:1003A00080819FE089278093C60088E48093C10004 +:1003B00007C0E856FE4F80819FE089278093C600E2 +:1003C0002F5F2093D801FF91EF919F918F912F91F3 +:1003D0000F900FBE0F901F9018951F920F920FB69F +:1003E0000F9211241092C0001092C1001092C2000E +:1003F0005A9828984198299A0F900FBE0F901F90F5 +:1004000018951F920F920FB60F9211242F938F936E +:100410009F93EF93FF93209195019091C6008FE0F9 +:100420009827243049F580911101E0910001F09165 +:100430000101E80FF11D90838F5F8093110180917E +:1004400011018F738093110180919601890F809320 +:10045000960190911101E0910001F09101018081DC +:100460009817F1F41092C0001092C1001092C200CF +:100470005A985D982FEF14C0E22FFF27E65FFE4FDA +:100480008081981711F020E00BC02F5F243041F4D9 +:1004900080918400909185009093100180930F01CA +:1004A00020939501FF91EF919F918F912F910F9044 +:1004B0000FBE0F901F9018951F920F920FB60F92BC +:1004C00011242F933F934F935F936F937F938F9359 +:1004D0009F93AF93BF93EF93FF93809104018F5F3E +:1004E000877080930401E82FFF27E830F10508F0BA +:1004F000B6C0E65EFF4F099484E08093540180917A +:10050000540161E0EEDE80E48093C00088E08093D7 +:10051000C100809188009091890085599E4F9093E9 +:10052000890080938800809154018093A00197C036 +:100530008091880090918900805F9A4F9093890004 +:10054000809388001092D80186E48093C200289A94 +:1005500088E28093C10085E58093C6008093C60041 +:1005600078945FDECAD08093090179C080919701A9 +:100570008111B3D0EADE80918800909189008B5B75 +:100580009F4F69C084E08093540110921101109232 +:100590009501109296018091540160E0A2DE809155 +:1005A0008800909189008C5E9E4F90938900809383 +:1005B0008800549854C08091880090918900895A8D +:1005C0009F4F90938900809388005D9A8091540199 +:1005D00080930A0144C0109296011092C00080E9F5 +:1005E0008093C10086E48093C2008091880090913E +:1005F00089008C599B4F2FC01092C0001092C100EF +:100600001092C200809195018F3FF9F4809196017C +:100610008823D9F480910001909101012091020179 +:100620003091030130930101209300019093030165 +:10063000809302018091970187FF07C080910F018D +:10064000909110018C5D9B4F06C080918800909125 +:10065000890084559F4F9093890080938800FF9173 +:10066000EF91BF91AF919F918F917F916F915F912A +:100670004F913F912F910F900FBE0F901F901895A3 +:1006800080EC8CBD5F984298409808951F920F921D +:100690000FB60F9211248F939F93EF93FF93909136 +:1006A0000701E5EAF1E0E90FF11D8EB58083409A7C +:1006B0009F5F90930701E0910501F0910601E90F1A +:1006C000F11D80818EBD4098FF91EF919F918F9198 +:1006D0000F900FBE0F901F90189510920701E09198 +:1006E0000201F09103013196F0930601E0930501B8 +:1006F000319781818EBD429A089542988091070179 +:100700008F3319F481E090E00895803418F08FEF72 +:0C0710009FEF089580E090E00895FFCF77 +:04071C00130155016F +:0C0EF000C8030600C9F00403CA0000009B +:00000001FF Added: firmware/hex_dev/new_rf/fuxusb.hex =================================================================== --- firmware/hex_dev/new_rf/fuxusb.hex (rev 0) +++ firmware/hex_dev/new_rf/fuxusb.hex 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,521 @@ +:1017B6001218C512104D300905120FFE80F51209D8 +:0317C6000780F0A9 +:0C18C500438F01C281D2A3D2AF020E54A7 +:0C18D100C8040401C9000004CA000000A3 +:060E54001219F643BC80F8 +:100E5A009001C11201EE0000271043BC109001C19D +:100E6A00E0FCA3E0FDA3E0FEA3E0FFEC4D4E4F60E3 +:100E7A0018EF24FFFFEE34FFFEED34FFFDEC34FFE4 +:0C0E8A00FC9001C11201E280D453BCEFC7 +:100E96007D80E4FF1219EFE4FF1218421217605327 +:080EA600F1FC43F101D2B3227B +:10104D00E5BD30E5051218AB8012E5BD30E40512A3 +:10105D00199D8008E5BD30E003121994E5BD30E31C +:10106D000E53BDF712155190016BE0600214F09014 +:10107D0001B9E0600B1218805006200503121919F2 +:0B108D00120D87E5F8600312127422B8 +:041646004101B900A5 +:100EAE00E5CFF0A3E5CFF0A3E5CFF0A3E5CFF02299 +:100EBE009001B6E4F07412A3F09001BB74FFF0A39E +:100ECE002253CEFB43CE802253CEFD53CE7F2290B3 +:100EDE0001BBE0FBA3E0FAA3E0F92253CE7F53CE91 +:100EEE00FB229001B6E4F0A322F053CEFB43CE10CA +:080EFE0022E4F5CF43CE1022DF +:10176000E49001BFF0A3F0A3F09001B9F09001E381 +:06177000F09001E2F022FE +:100006007D857F011219EF7F011218427D817F02E3 +:100016001219EF7F021218427D817F031219EF7FBA +:10002600031218427D877F041219EF7F04121842CB +:0C0036007D837F051219EF7F0502184240 +:061A0400E4F5C7020AB47C +:100AB4009001BAE5CFF09001B8E5CFF09001BAE02B +:100AC400546070739001B8E024FEB40A005066903C +:100AD4000AE175F003A4C58325F0C58373020B34C2 +:100AE400020B39020B39020B09020AFF020B39020D +:100AF4000B04020B0E020B1E020B2F120621806F39 +:100B0400121666806A12174880659001BAE0700573 +:100B14001214B2805A12185380559001BAE0B4816D +:100B24000512196C804912188F8044120DF0803F11 +:100B3400121776803A80329001BAE05460642070D3 +:100B4400289001B8E0247E600F146011146013240F +:100B540003701412168480171216A280121216043F +:100B6400800D1216258008800053CEFB12186253A4 +:030B7400CE7F220F +:101748009001C1E5CFF053CEFB43BC0112190D90B7 +:0717580001C1E04480F5C669 +:01175F002267 +:1014B200AFCF120EE9EFD39401501B9001B9EFF0B8 +:1014C200B401091215051215E112197612190D123D +:0914D200000643BC02221218625C +:0114DB0022EE +:100DF0009001C1120EAE120EE99001C3E0B40318C7 +:100E00009001C1E070129001E3F09001E2F07F04E4 +:100E10001218427F051218429001C3E0B4010C90F1 +:100E200001C1E0B401057F811218429001C3E0B412 +:100E3000020C9001C1E0B401057F0212184290013A +:100E4000C3E0B4050C9001C1E0B401057F031218A2 +:040E50004202190D34 +:10062100C20AAFCFAECFEE24FE60171460292402B8 +:100631006003020711120EBE7402F0A3744BF002A4 +:10064100071B9001B67401F07420120EC57403F0FB +:10065100A37423F002071BEFB40900400302071142 +:10066100900668F82828730206830206900206A203 +:100671000206AF0206C10206DE0206CD0206EF0245 +:100681000700120EBE7402F0A3745DF002071B1284 +:100691000EF0740C120EC67402F0A3746FF0020710 +:1006A1001B120EBE7402F0A3747BF002071B120E24 +:1006B100F0740C120EC67402F0A3748DF002071BC5 +:1006C100120EBE7402F0A37499F0804E120EF074F3 +:1006D1001E120EC67402F0A374CDF0803D120EF00E +:1006E1007422120EC67402F0A374ABF0802C120EA9 +:1006F100F0741A120EC67402F0A374EBF0801B1290 +:100701000EF0741E120EC67403F0A37405F0800A75 +:1007110053CEFB12186253CE7F22E5CFE5CF900175 +:10072100C2E5CFF09001C1E5CFF09001B6E0FEA3A4 +:10073100E0FF9001C1E0FCA3E0FDD39FEC9E400CE3 +:10074100EF541F60028001D3920A80089001B6EC39 +:10075100F0A3EDF0120ECFD39001B7E094209001F9 +:10076100B6E09400400B120EDD7D2012116D40E7C2 +:1007710022120EDD9001B6A3E0FD12116D50293059 +:100781000A0A120EDDE4FD12116D501CE5CE544231 +:100791007005E5CE30E2F5E5CE20E20CE5CE54421F +:0807A100600653CE7F53CEFD2C +:0107A900222D +:10116D009001C3EDF01217DB9001BBEBF0A3EAF099 +:10117D00A3E9F09001C3E0FFC39001B7E09FF090A9 +:10118D0001B6E09400F0E5CE54427005E5CE30E0B6 +:10119D00F553CEFEE5CE5442600853CEEF53CEFD4F +:0411AD00C322D32264 +:10166600120ECF9001B9E0F5CF43CE10E5CE30E0B3 +:0E167600FB53CEFEE5CE544260FA120ED62291 +:0A196C00120ECF12186253CE7F2234 +:100FAE00E5CFE5CFAFCF120ECF9001BAE0247F6030 +:100FBE000C14600E2402701975CF018014E4F5CF65 +:100FCE00800FEF547F24BEF582E43401F583E0F503 +:100FDE00CF120EFFE5CE30E0FBE5CE20E2F653CE8B +:0F0FEE00FEE5CE544260FAE5CE20E2F5120ED6B3 +:010FFD0022D1 +:1010E1009001BAE0700280379001BAE0B401028049 +:1010F1002E9001BAE06402702CE5CF7028E5CFAFE5 +:10110100CFEF247F701975C70143CE20E4F5C79056 +:1011110001BF04120EF7E5CE30E0FB53CEFE2253A1 +:06112100CEFB1218622251 +:100F06009001BAE0700280479001BAE0B401028015 +:100F16003E9001BAE06402703CE5CF7038E5CFAF91 +:100F2600CFEF601F247F702775C70153CEDF7F0187 +:100F3600121842E4F5C79001BF120EF7E5CE30E075 +:100F4600FB8008120EF8E5CE30E0FB53CEFE2253AE +:060F5600CEFB121862221E +:101684009001C1120EAE120ECF120EFFE5CE30E065 +:0D169400FB53CEFEE5CE544260FA120ED696 +:0116A1002226 +:1016A2009001C1120EAE120ECF120EFFE5CE30E047 +:0D16B200FB53CEFEE5CE544260FA120ED678 +:0116BF002208 +:101604009001C1120EAE120ECF75CF0A43CE10E573 +:10161400CE30E0FB53CEFEE5CE544260FA120ED635 +:0116240022A3 +:101625009001C1120EAE120ECF75CF0143CE10E55B +:10163500CE30E0FB53CEFEE5CE544260FA120ED614 +:011645002282 +:0C18DD009001CE120EAE120EE902190DA1 +:0C18E9009001D2120EAE120EE902190D91 +:0C18F5009001D6120EAE120EE902190D81 +:0C1901009001DA120EAE120EE902190D70 +:0F18530053CEFBE5CE544260FA53CEFD02190D81 +:0E188F00E5CF9001B5E5CFF053CEFB02190D69 +:10177600120ECF9001B5E0F5CF12190DE5CE544209 +:0617860060FA120ED622EB +:0F18620043CE20E5CE30E3FB53CEDF53CEF7224B +:0C190D0043CE10E5CE30E0FB53CEFE22AE +:10024B001201100100000020EB0307FF4100010227 +:10025B00030112030904000000000000000000006D +:10026B00000000000C034B00790073006F00680066 +:10027B001203540075007800440072006F0069008F +:10028B0064000C03310030003000300031001203E9 +:10029B00540075007800440072006F006900640020 +:1002AB002203540075007800440072006F0069004F +:1002BB0064002D0053007000650061006B00650049 +:1002CB0072001E03540075007800440072006F002A +:1002DB00690064002D004D006900630072006F001F +:1002EB001A03540075007800440072006F00690017 +:1002FB0064002D005400540053001E03540075007D +:10030B007800440072006F00690064002D0041000A +:10031B007500640069006F0009022001060104806A +:10032B00320904000000010100080A240100013415 +:10033B00000201020C240201010200010000000670 +:10034B000C24020201010001000005000924030333 +:10035B00010100010609240304010300020509043D +:10036B00010000010200060904010101010200065F +:10037B00072401030102000B2402010101080140C3 +:10038B001F0009058101080001000007250100007D +:10039B00000009040200000102000509040201012A +:1003AB0001020005072401020102000B24020101D6 +:1003BB00010801803E000905020110000100000741 +:1003CB0025010000000009040300020000000007E3 +:1003DB0005840340000107050503400001090404DF +:1003EB0000000101000709240100011E0001050C9A +:1003FB002402070101000100000007092403080182 +:10040B0003000707090405000001020007090405A2 +:10041B00010101020007072401070102000B24025E +:10042B000101010801401F0009050301080001003B +:08043B0000072501000000008C +:06164A00C106C107C10545 +:10127400E5F830E00BE4F5C7E5CE30E203121A04DA +:10128400E5F830E10312189DE5F830E2031217A1E6 +:10129400E5F830E30312178CE5F830E40312159BEC +:0C12A400E5F830E5061211B112135B22D0 +:1017C9009001E3E0600B75C704E5CE20E40343CE46 +:0217D9001022DC +:0C19190075C7011216DE43CE10D2052265 +:0E189D0075C701E5CE30E00553CEFEC2052230 +:10178C0075C70330060B121A34EF60057F0812166A +:05179C00FA53CEFD220E +:1017A10075C70220060B121A34EF60057F1012165E +:0517B100FA53CEFD22F9 +:10135B0075C7059001E2E0FF700CE5CE30E1075355 +:10136B00CEFD7401F022EFB4010EE5CE30E6095349 +:10137B00CEBFE49001E2F022E5CE30E60453CEBFBF +:05138B002253CEFD22FB +:10159B0075C704E5CE30E01A53CEFE9001E3E0149C +:1015AB00F0E0C394005002E4F09001E3E0600343E9 +:0315BB00CE10222D +:1015BE00EF24FFFFEE34FFFEED34FFFDEC34FFFCB5 +:1015CE000201E2E0FCA3E0FDA3E0FEA3E0FFEC4D90 +:0315DE004E4F224B +:1011B10075C705E5CE5442603A121A34EF14900116 +:1011C1006AF0AFCFE4FE90016AE0FDEEC39D5010DE +:1011D100742A2EF582E43401F583E5CFF00E80E622 +:1011E100EF600A24FE60090470090209F0D20322AB +:0311F100120C9C41 +:0111F40022D8 +:100D87003007659001E3E0C39402505C75C704E443 +:100D9700F5CF30A303FF80027F018FCF90009BE048 +:100DA700F5CFE51060071313543FFF80027F008FD4 +:100DB700CFE4F517E517C3951050091217FE8FCF2B +:100DC700051780F0851017E517C3943C5007E4F525 +:100DD700CF051780F21219769001E3E004F012179D +:080DE700C9E490009BF0C20773 +:010DEF0022E1 +:1013C40075C70475CFF0EF60047F0080027F018F42 +:1013D400CFAF058FCFAF038FCF9001C5E0F5CFE43A +:1013E400FFE4F5CF0FEFB43BF89001E3E004F00223 +:0213F40017C917 +:1009F00090012AE070012290012AE0B401209001C8 +:100A00002DE02403600F14600F14600F14600302C4 +:100A10000A97D2072202150502139002109890013E +:100A20002AE0B4020DA3E0600614706BD20622C265 +:100A3000062290012AE06406705D1219769018D1A2 +:100A4000120A989018D2120A989018D3120A9F90FE +:100A500018D4120A9F9018D5120AA69018D6120A16 +:100A6000A69018D6E4740193FF1216C09018D812FD +:100A70000AAD9018D9120AAD9018DAE493FF121655 +:100A8000C09018DAE4740193FF1216C09018DCE4E9 +:100A900093FF1216C0D20722E493FF1216C022E47D +:100AA00093FF1216C022E493FF1216C022E493FFB4 +:040AB0001216C02238 +:0A139000E4F5A8F5B175C314C2819D +:10139A009001C11201EE0000271043BC109001C158 +:1013AA001215D160089001C11215BE80F053BCEF2E +:0A13BA00D2B375A61E75A6E180FEF1 +:10109800E4F5A8F5B175C314D2B3C2817B067D010E +:0E10A8007F041217157B017DF47F04121715CB +:1010B6009001C11201EE0000271043BC109001C13F +:1010C6001215D160089001C11215BE80F053BCEF15 +:0B10D6001219D975A61E75A6E180FE58 +:0919940053BDFE43BC40C2812298 +:0D18AB0053BCBF53BDFE53BDDF53BDF7223C +:09199D0053BDEF12176002197628 +:08165000C181C104C102C10007 +:10157700900102E02406FFE433FE900105E022E437 +:10158700900104F0900103F022F582E43400F58322 +:04159700E0F5C52294 +:0C192500121586D201D291C202C2042227 +:1015E10053AFFE43C31043C30253C3F753C3FB437B +:1015F100C32043C340D2B2D2B4D291D288D2A8126E +:0316010015862229 +:03000300020F5C8D +:100F5C00C0E0C083C082C0D075D000C007D2B7300B +:100F6C009104C2B78031E5C420E704C2B780289051 +:100F7C000106E0FF04F0749C2FF582E43400F58345 +:100F8C00E5C5F0900106E0FFB43204D291800674FE +:100F9C00CE2F121590C2B7D007D0D0D082D083D02C +:020FAC00E03231 +:10090700D2B620B404C2008015200012D200C291D2 +:10091700E4900106F0E024CE121590C2B622209191 +:1009270003C2B622900106E0C3943250030209EDD8 +:10093700E4F09001C1F030032FC203E04402F0E479 +:10094700A3F09001C2E0FF242AF582E43401F58385 +:10095700E0FE74D12FF582E43400F583EEF09001C8 +:10096700C2E004F0E0B404DA1219E8EFC3942240BD +:10097700129001C1E04404F07B017A0079D57D2211 +:1009870012132590009AE0FF04F09000CEEFF0904C +:1009970001C1E09000CFF090009CE0FF900099E04B +:1009A7006F6043EFF090009DE09001C1F030E124CB +:1009B700E4A3F09001C2E0FFC394045017749F2F83 +:1009C700F582E43400F583E0FF1216C09001C2E01F +:1009D70004F080DF9001C1E030E20B7B017A0079FF +:0809E700A37D111212B0C2B68B +:0109EF0022E5 +:1004430030B410C204E4900105F0121587C201C252 +:1004530091D202200203020620200403020620E4B4 +:100463009001C8F0C204900104E0FF7017900101ED +:10047300300304740A80027402F0F5C59001047419 +:1004830001F08051EFB40116900105E0B41106901C +:1004930001047402F0900101E020E13980349001FD +:1004A30004E0FF64027027A3E0FEB4150F9001017E +:1004B300E030E302C2039001047403F0900101E011 +:1004C30030E30974062EF8E6F5C580098004EFB41D +:1004D3000303E4F5C5900105E004F0900103E0FF98 +:1004E3007030AEC4BE8003D38001C350F530A30384 +:1004F300020620900100E5C5F0E5C590010230E752 +:10050300057422F080037411F09001037401F0026A +:10051300060EEF64017045AFC4BF8003D38001C3EF +:1005230050F530A303020620900100E030E112D21F +:1005330090900105E02406F582E43401F583E5C5D6 +:10054300F0900102E0240112157D6F7001EE60034B +:1005530002060E9001037402F002060E900103E0FE +:100563006402600302060EAFC4BF8003D38001C3DD +:1005730050F530A303020620900100E0F930E34E6A +:10058300900102E0FF2405FDE433FC900105E0FB4C +:100593007A00D39DEC6480F87480985015C3EB9F68 +:1005A300FFEA9400FE74C82FF58274013EF583E5DB +:1005B300C5F0121577B50716E4B50612900107E5E5 +:1005C300C5F0E0FF90009BE0C39F5002EFF01215CF +:1005D300776F7001EE7034C202D291D201E930E339 +:1005E3003C9001CAE06036E49001C9F09001C9E093 +:1005F30024CAF582E43401F583E0FF1216C09001AA +:10060300C9E004F0E0C3940440E2229001C8E0048E +:0D061300F0300409E0C394055003020467B1 +:0106200022B7 +:041658004101A800A4 +:1013F600742A2FF582E43401F583E0FF9001A9E019 +:10140600FE04F09001AFE0FCA3E02EF582E43CF58B +:1014160083EFF09001C1E004F022E49001C5F0FBF7 +:0114260022A3 +:100C9C0090012AE0B40105121236803120090E129F +:100CAC0014207D01FF1213C41219C1802090012A57 +:100CBC00E0B4030F1219C11214207DFE7F01121330 +:100CCC00C4800A90012AE0B40203120B779001AAA7 +:100CDC00E0FF9001B1E0FEB507259001B4E0FD9076 +:100CEC0001A9E0B505199001B3E02DF09001B2E037 +:100CFC003400F0E49001A9F09001B1F0D20822EE9A +:100D0C00C39F400C1214207D05FF1213C41219C18D +:010D1C0022B4 +:100FFE0090016BE0704830084578C17C017D017B23 +:10100E00017A0179AB7E007F061201169001C7743A +:10101E0040F0121486900097E020E0F990016B7476 +:10102E0014F0900097E0C413135401FF9001A8E050 +:0F103E0004FDF0E49001C5F0FB1213C4C20822B8 +:100B77009001B1E0707790012BE09001ACF0A3E415 +:100B8700F090012CE0FF9001ADE02FF09001ACE078 +:100B97003400F090016AE0B4040280399001ACE0BF +:100BA700FEA3E0FFEE547FFC9001B2E06C7003A35C +:100BB700E06F6024EF64C07003EE641D601A90015B +:100BC700ACE0640E7004A3E064C0600C1214207DD6 +:100BD70003FF1213C41219C19001C17403F09001ED +:100BE700C1E0FFC39423501A1213F680F19001C19C +:100BF7007401F09001C1E0FFC3942150051213F670 +:080C070080F19001B1E004F05E +:010C0F0022C2 +:1012360090016B74FAF01217ED12152B90012BE04A +:1012460025E09001ABF090012CE09001B4F0900104 +:101256002DE09001AAF0E49001B2F0A3F09001A96C +:0E126600F09001B1F09001A8F0D209C2A822C8 +:0819C100C209121505021925E7 +:1017ED00121A1B1219E19001AF7400F0A37403F0EB +:0117FD0022C9 +:10148600900097E054BFF09001C1E0900098F09072 +:1014960001C2E0FCA3E0FDEC900001F0A3EDF090AA +:0C14A60001C7E02402900096F0021871CB +:1011270090008AE0FF04F0748B2FF582E43400F519 +:1011370083E595F022E0FF04F074012FF582E43493 +:1011470000F58322900096E0FF900000E0C39F2205 +:10115700E0FBA3E0FAA3E0F9EA494B22A3E0FAA3F4 +:06116700E0F5828A8322FC +:041A1B00759380221D +:0719E1007593C043B102221F +:0C193100900083EBF0A3EAF0A3E9F022A1 +:0C193D00900087EBF0A3EAF0A3E9F02291 +:0F187100900097E04401F0E4900000F0021A1F8D +:041A1F0043932022AB +:0B196100439310900097E054FEF0222A +:031A2B008F952272 +:041A230043930422C3 +:041A27005393FB22B8 +:031A2E00AF95224F +:031A3100AF94224D +:030043000207AA07 +:1007AA00C0E0C0F0C083C082C0D075D008AF94EF5B +:1007BA0012021F08F600080F08080F100817180879 +:1007CA0037200817280837300841380847400837C3 +:1007DA004808445008345808576008576808577042 +:1007EA00085778086D80087F88086D90087F9808F8 +:1007FA0086A008B2A808B2B008D9B80841C0084112 +:10080A00C8000008F95393DF900098800812114B32 +:10081A00500B12113CE0FF121A2B0208F91219614F +:10082A00900097E04440F00208F9121127900097CF +:10083A00E04402F00208F60208F11211279000863D +:10084A00E014FF90008AE0C39F502780229000970F +:10085A00E04401F090008AE4F0900097E054FBF045 +:10086A000208E712112790008AE0C3940850030295 +:10087A0008E70208EC900097E04404F01219E190AE +:10088A000083121157601890008AE0FF7B017A00FA +:10089A00798BC00A900083121163D00A1202499020 +:1008AA000097E054FEF08047900087121157601AB3 +:1008BA007B017A007901C00A900087121163D00A7D +:1008CA007F82120249900096EFF0900000E4F090C7 +:1008DA00000012113CE0F59512114B5005121A2333 +:1008EA00800D121A2780081219E180031219615328 +:0D08FA0093F7D0D0D082D083D0F0D0E03280 +:061A0A00E4F514F51322BF +:0719E800C3E5139514FF2273 +:1016FA008F17C3E51395146480600FAF130513EFBA +:0A170A00547F2422F8A6CFD517E87B +:0117140022B2 +:0B1325009001C3EBF0A3EAF0A3E9F095 +:10133000E4FFEFC39D5023AE140514EE547F242226 +:10134000F8E6FE9001C3E0FBA3E0FAA3E0F98F8288 +:0A135000758300EE1201940F80D89F +:01135A002270 +:061A1000E4F516F51522B5 +:0F188000C3E5159516D394204003D38001C322EE +:0512B0009001C3EDF008 +:1012B500A3F0C3E51595166440602B9001C4E0FFCB +:1012C5009001C3E0C39FFFE494008F82F583120170 +:1012D50055FFAE150515EE543F24A2F8A60790015B +:0612E500C4E014F070CC1F +:0112EB0022E0 +:1016DE007F08E516B5150575CF80800DAE1605167B +:0B16EE00EE543F24A2F8E6F5CFDFE742 +:0116F90022CE +:02165C00C10BC0 +:0A197600E4F512F511F510C20B2282 +:1016C000300B03121976AE100510746C2EF582E4FF +:0E16D0003401F583EFF0E510B43C02D20B229A +:1017FE00AF110511746C2FF582E43401F583E0FF0F +:01180E0022B7 +:02165E00C10CBD +:10182000E0FEA3E0FFE4FCFDFB7AFAF9F8D3020145 +:01183000CCEB +:10150500D291C281E49001C2F0A3F09001C21218F9 +:101515002040109001C3E004F070F09001C2E00497 +:05152500F080E8D28116 +:01152A00229E +:10152B00C291C281E49001C1F0A3F09001C11218E5 +:10153B002040109001C2E004F070F09001C1E00473 +:05154B00F080E8D281F0 +:011550002278 +:10180F0020A304D20CD322300C03121505C20CC333 +:01181F0022A6 +:051660004201E400005E +:1015510030090A7D207C017F007E01801520A30ACD +:101561007D207C007F107E0080087D007C047F0050 +:061571007E031214272284 +:101427009001E5E004F070069001E4E004F090011B +:10143700E4E0FAA3E0FBB50707EAB50603C2B32267 +:10144700C3EB9DEA9C4009D2B3E49001E4F0A3F01A +:011457002272 +:0D18B80012013CF5CF740129F9E43AFA223F +:0719EF008FC7AF058FD42262 +:1012EC0030F805E4F5C7802E30F90575C701802666 +:1012FC0030FA0575C702801E30FB0575C7038016D2 +:10130C0030FC0575C704800E30FD0575C7058006D9 +:09131C0030FE0375C706AFC722BD +:031A3400AFE222FC +:0919A600AFE3EFFEADE2EDFF221C +:1017DB00E4F5C7AF051DEF60051218B880F543CED1 +:0217EB001022CA +:0C194900AF051DEF60051218B880F522F4 +:10183100AF051DEF600AE5CF1201821218BD80F0DD +:011841002284 +:0919AF008FC7E4F5CE43CE2022DF +:101842007401A807088002C333D8FCF5D5E4F5D5A6 +:011852002273 +:0719F60075A41043A30222B7 +:0719FD001219F643BC802221 +:1014DC0041746D656C202852290A63353133312DE6 +:1014EC007573622D6364632D315F305F320A0A00BD +:0914FC001B631B5B3F32356C00E1 +:0B11F5009001DEEBF0A3EAF0A3E9F0AC +:101200009001DEE0FBA3E475F0011201B6A9F0FA4B +:1012100012013C9001E1F06013E0B40A057F0D1269 +:1012200019C99001E1E0FF1219C980D47F0D12198C +:06123000C97F0A0219C982 +:0919B8007BFF7A1479FC0211F5A1 +:100D1D009001E7EDF09001E6EFF070097F0D1219EB +:100D2D00C97F0A80377F1B1219C97F5B1219C990C1 +:100D3D0001E7E0FFD394094003120D7B9001E71208 +:100D4D000D6D7F3B1219C99001E6E0FFD394094068 +:100D5D0003120D7B9001E6120D6D7F481219C92209 +:100D6D00E075F00A84E5F02430FF1219C922EF7501 +:0A0D7D00F00A842430FF1219C92285 +:051A1600A298920D22D0 +:10172F00759840538FF7438F0175CBFF75CAF375CB +:09173F00C834D2CA439812D32227 +:0819C9003099FDC2998F9922AB +:0719D1003098FDAF99C298A8 +:0119D80022EC +:0A1980008FC5E5C430E7FB7F0122AC +:0A198A0043A22012FFC053A2DF2287 +:0C1955008F1CAF058F1F12198AAF1D22D6 +:10171500A2AF920FC2AF8F1CAF038F1FAF058F1DF6 +:0917250012198AA20F92AF7F0194 +:01172E002298 +:081458009001E8EFF0A3EDF0B4 +:10146000A2AF920EC2AFE4FD7F081219559001E8B9 +:10147000E0F45FFFA3E04FF51D751C0712198AA267 +:051480000E92AF7F0198 +:011485002244 +:0819D900C2AF43A22002F4009A +:03000000020C10DF +:0C0C1000787FE4F6D8FD7581E1020C57F6 +:10004600E709F608DFFA8046E709F208DFFA803E9C +:1000560088828C83E709F0A3DFFA8032E309F60889 +:10006600DFFA8078E309F208DFFA807088828C83F1 +:10007600E309F0A3DFFA806489828A83E0A3F608A5 +:10008600DFFA805889828A83E0A3F208DFFA804C7F +:1000960080D280FA80C680D4806980F28033801056 +:1000A60080A680EA809A80A880DA80E280CA8033BF +:1000B60089828A83ECFAE493A3C8C582C8CCC58337 +:1000C600CCF0A3C8C582C8CCC583CCDFE9DEE78007 +:1000D6000D89828A83E493A3F608DFF9ECFAA9F086 +:1000E600EDFB2289828A83ECFAE0A3C8C582C8CCDC +:1000F600C583CCF0A3C8C582C8CCC583CCDFEADEF5 +:10010600E880DB89828A83E493A3F208DFF980CC56 +:1001160088F0EF60010E4E60C388F0ED2402B4044F +:100126000050B9F582EB2402B4040050AF232345F6 +:0601360082239000967385 +:10013C00BB010689828A83E0225002E722BBFE02C1 +:09014C00E32289828A83E49322F4 +:10015500BB010CE58229F582E5833AF583E022505F +:1001650006E92582F8E622BBFE06E92582F8E222A9 +:0D017500E58229F582E5833AF583E49322C3 +:10018200BB010689828A83F0225002F722BBFE015C +:02019200F32256 +:10019400F8BB010DE58229F582E5833AF583E8F0A1 +:1001A400225006E92582C8F622BBFE05E92582C84D +:0201B400F22235 +:1001B600A3F8E0C5F025F0F0E582158270021583FC +:0601C600E0C838F0E82259 +:1001CC00EB9FF5F0EA9E42F0E99D42F0EC6480C8AA +:0601DC0064809845F0224A +:0C01E200ECF0A3EDF0A3EEF0A3EFF02290 +:1001EE00A8828583F0D083D08212020512020512F6 +:1001FE000205120205E473E493A3C583C5F0C5831B +:10020E00C8C582C8F0A3C583C5F0C583C8C582C85A +:01021E0022BD +:10021F00D083D082F8E4937012740193700DA3A36E +:10022F0093F8740193F5828883E473740293686082 +:06023F00EFA3A3A380DF82 +:060245008A838982E47344 +:100C1C000217B6E493A3F8E493A34003F68001F221 +:100C2C0008DFF48029E493A3F85407240CC8C333D9 +:100C3C00C4540F4420C8834004F456800146F6DFA8 +:100C4C00E4800B0102040810204080901646E47EDC +:100C5C00019360BCA3FF543F30E509541FFEE4939D +:100C6C00A360010ECF54C025E060A840B8E493A364 +:100C7C00FAE493A3F8E493A3C8C582C8CAC583CA8F +:100C8C00F0A3C8C582C8CAC583CADFE9DEE780BE47 +:011665000084 +:00000001FF Added: firmware/hex_dev/new_rf/tuxaudio.eep =================================================================== --- firmware/hex_dev/new_rf/tuxaudio.eep (rev 0) +++ firmware/hex_dev/new_rf/tuxaudio.eep 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,2 @@ +:0100000000FF +:00000001FF Added: firmware/hex_dev/new_rf/tuxaudio.hex =================================================================== --- firmware/hex_dev/new_rf/tuxaudio.hex (rev 0) +++ firmware/hex_dev/new_rf/tuxaudio.hex 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,367 @@ +:1000000019C0BEC6A9C631C09EC02FC02EC02DC00B +:100010002CC02BC02AC029C028C027C026C025C09C +:1000200005C123C022C021C020C01FC01EC01DC0EA +:10003000BBC91BC011241FBECFEFD4E0DEBFCDBFB4 +:1000400011E0A0E0B1E0ECE6F6E102C005900D920F +:10005000A635B107D9F713E0A6E5B1E001C01D92BE +:10006000A432B107E1F74FD100CBCACFCF93DF93D2 +:10007000CDB7DEB721970FB6F894DEBF0FBECDBF68 +:100080008FEA84B987EC85B98FE088B988E087B9B1 +:10009000198203C089818F5F898389818233D0F37C +:1000A00017B883ED8BB981EE8AB983E284BD89E00C +:1000B00085BD16BC8AEF87BD18BC109280001092D7 +:1000C0008100109285001092840010928700109297 +:1000D0008600109289001092880010928B00109276 +:1000E0008A001092B6001092B0001092B1001092E7 +:1000F000B2001092B3001092B40081E080936E00C1 +:1001000010926F001092700080E880BF10927B0008 +:1001100010927E0086E280937C0086E880937A00CD +:1001200080E58CBD1DBC8EB589838FE0809369000E +:1001300083E08CBB21960FB6F894DEBF0FBECDBF17 +:10014000DF91CF9108951F920F920FB60F92112455 +:100150000F900FBE0F901F9018951F920F920FB621 +:100160000F9211242F933F934F938F939F93AF93AD +:10017000BF93CF93DF93EF93FF93A0910701B091CB +:100180000801ED012C818B81281779F0E22FFF27E0 +:100190008A8199270197E823F9238D919C91E80F93 +:1001A000F91F808188BD2F5F2C838091000181FF22 +:1001B0002DC030917900A0910E01B0910F01FD0189 +:1001C000238192818481F22FF81BF91781F0E22FAD +:1001D000FF27892F99270197E823F9238D919C9177 +:1001E0001197E80FF91F30832F5FED012B8380916A +:1001F0007A00806480937A00809106028150809317 +:100200000602882319F481E080930502FF91EF91A3 +:10021000DF91CF91BF91AF919F918F914F913F917E +:100220002F910F900FBE0F901F9018950FB6CF9380 +:10023000C0910001CF5FC0930001C0FF02C08DDFFD +:10024000F894CF910FBE1895CF93DF93CDB7DEB75B +:1002500024970FB6F894DEBF0FBECDBF80EF898321 +:1002600096B189B19F70807D982B9A831E9B02C0A6 +:1002700090629A838A819BE989278A838091CA0246 +:100280008B83882321F480916301882319F081E016 +:100290008C8301C01C82CE0101963FD624960FB6F6 +:1002A000F894DEBF0FBECDBFDF91CF9108951092BD +:1002B000560187D1F89480E885B998E098B91BB8C1 +:1002C000E4E6F0E0208189EE808390936C0082E088 +:1002D0008BBBE8E6F0E080818260808383B7817F1A +:1002E000846083BF83B7816083BF7894889583B728 +:1002F0008E7F83BF10926C0020936400B7DE1BD703 +:100300000BD759D10895CEEFD4E0DEBFCDBFAEDE1E +:1003100080910701909108014ED080910E0190913B +:100320000F0149D07CD9F8D68AE090E09093620121 +:1003300080936101789483E08CBB8DBB789439D62F +:1003400080910502882389F110920502809156015F +:10035000823020F081508093560101C075DF90916A +:1003600010019923B9F08AB183608AB9198203C058 +:1003700089818F5F898389818F3FD1F7892F815050 +:1003800080931001882319F48AB1836002C08AB176 +:100390008C7F8AB947B5E0910701F091080163812C +:1003A0008481681B20E08EEF9BD5809156018130BF +:1003B00029F67DDFC3CFFC01138214820895FC016E +:1003C00020E030E083819481891B9281891711F4A8 +:1003D00021E030E0C9010895DC01FC012381928114 +:1003E0008481F22FF81BF91719F481E090E0089549 +:1003F000E22FFF27892F99270197E823F9238D9171 +:100400009C911197E80FF91F60832F5FFD012383F3 +:1004100080E090E00895CF93DF93DC01EC012C8124 +:100420008B81281719F482E090E013C0E22FFF2798 +:10043000ED018A8199270197E823F9238D919C91F9 +:10044000E80FF91F8081FB0180832F5F2C8380E000 +:1004500090E0DF91CF9108958EBD0DB407FEFDCFE2 +:100460008EB599270895FF920F931F93182F062F8B +:10047000F42E299883E0F0DF812FEEDF802FECDF70 +:100480008F2DEADF80E0E8DF299A99271F910F91ED +:10049000FF900895FF920F931F93182F062FF42EAD +:1004A000299889E3D9DF812FD7DF802FD5DF8F2DE2 +:1004B000D3DF299A1F910F91FF9008951F93182F52 +:1004C000299881E0C9DF812FC7DF299A1F910895FC +:1004D000299884E0C1DF299A0895299886E0BCDF35 +:1004E000299A0895CF93DF9380E0E8DFC2E1D1E05D +:1004F000F4DF4A8169818881CDDF239681E0C333AF +:10050000D807B1F7DF91CF910895ECDFE6DF2998A6 +:1005100080E6A2DF299A0895299885E09DDF80E092 +:100520009BDF299A99270895EF92FF920F931F93CB +:10053000182F062FD7DFE02EE11AFF24102F129577 +:10054000107F13C0CADF299880E286DF802F829552 +:100550008F7082DF812F80DF80E07EDF299ADCDFF1 +:1005600080FDFDCF01501051FA948E2D8095F81624 +:1005700049F71F910F91FF90EF900895EF92FF922E +:100580000F931F93182F062FF42EE22EC5DF80FD48 +:10059000FDCFA3DF299882E05FDF812F5DDF802F11 +:1005A0005BDF8F2D59DF8E2D57DF299A1F910F9119 +:1005B000FF90EF900895289A29988BEA4DDF299AA9 +:1005C0000895289A299889EB47DF299A089510926F +:1005D000CA0210925C0120E040E060E08CEC80D424 +:1005E000289A299A08951F93CF93DF938091D3027D +:1005F000882309F4F5C01091CA02809188028823EB +:1006000009F48DC0112309F48AC0809188028117F2 +:1006100008F485C081E080936A0110926C01809398 +:100620006B0120E090E0312F315002C02F5F9F5FBF +:10063000931741F08F3F11F08E3F09F42F5F8D5FCC +:10064000A9F3F5CF892F880F890F8F5F20936C0155 +:1006500080936B019F5F90936A01299883E0FCDE91 +:1006600080E0FADE80916C01F7DE80916B01F4DEB0 +:10067000C2EFD1E080E0F0DE899381E0C83FD80787 +:10068000C9F71230A8F08091F301805F8093F301E5 +:100690008091F301807F8093F3018091F30188239F +:1006A00029F48091F2018F5F8093F2011092F4019E +:1006B000299A8091F201883090F58091F501883077 +:1006C00070F58091F201882321F48091F301843048 +:1006D00030F18091F601882321F48091F701843074 +:1006E000F0F09091F5018091F2019817C0F090918F +:1006F000F5018091F2019817B9F49091F60180917B +:10070000F301981760F09091F6018091F30198172A +:1007100059F49091F7018091F401891728F0109213 +:100720005C011092CA0268C0809107019091080193 +:1007300042DE299883E090DE8091F2018DDE809187 +:10074000F3018ADE8091F40187DE8AEF87BD109283 +:10075000D3026091880220E040E08CECC1D34CC011 +:1007600036DF4AC080E078DE2091FA01992702C086 +:10077000959587952A95E2F7682F809107019091CA +:1007800008012ADE8091F4018F5F8093F40180914B +:10079000F401882391F48091F3018F5F8093F3013A +:1007A0008091F301882349F48091F2018F5F809357 +:1007B000F2018091F201883099F29091F2018091DA +:1007C000F501981769F49091F3018091F60198175B +:1007D00039F49091F4018091F701981709F4C0CF92 +:1007E00080915801882341F480910701909108017C +:1007F000E6DD882309F4B6CFDF91CF911F910895EC +:100800001F9380913301882321F07FDE1092330102 +:100810002EC082DE80FD2BC011E0109333011092B8 +:100820005A012EEF40E060E080E0A8DE20E041E0E9 +:1008300060E080E0A3DE24E042E060E080E09EDE55 +:1008400020E043E060E080E099DE109288021092A0 +:10085000640120E040E060E08DEC42D360918802CA +:1008600020E0409164018BEC3BD310936E001F910C +:1008700008954091880283E0489FA00111244F5FB2 +:100880005F4F5093690140936801652F772780E09F +:10089000EADD8093F20140916801509169014F5F58 +:1008A0005F4F5093690140936801652F772780E07F +:1008B000DADD8093F30140916801509169014F5F47 +:1008C0005F4F5093690140936801652F772780E05F +:1008D000CADD8093F4018091F2019091F301829539 +:1008E000807F92959F70890F9927089581E080936A +:1008F0006B0110926C0110926A0140916B01609142 +:100900006C0180E0B0DD8F3FB9F080916C012091E7 +:100910006B01922F9F5F21F09F5F11F09F3F09F4C1 +:100920008F5F80936C012D5F20936B0180916A0132 +:100930008F5F80936A01E1CF80916A01815080933B +:100940006A0199270895FF920F931F93CF93DF9326 +:10095000CDB7DEB721970FB6F894DEBF0FBECDBF7F +:1009600080916701882309F08AC010926E008091FF +:100970008802882351F41092F20184E08093F301FD +:100980001092F40110926D0152C04091880283E0F0 +:10099000489FA00111244F5F5F4F5093690140931E +:1009A0006801652F772780E05EDD8093F20140913A +:1009B0006801509169014F5F5F4F50936901409307 +:1009C0006801652F772780E04EDD8093F301409129 +:1009D0006801509169014F5F5F4F509369014093E7 +:1009E0006801652F772780E03EDD8093F4018091D8 +:1009F000F301805F8093F3018091F301807F809306 +:100A0000F3018091F301882329F48091F2018F5F33 +:100A10008093F2011092F4019091F2018091F30120 +:100A20009295907F82958F70980F90936D01809131 +:100A3000070190910801BFDC8091F201883048F0F5 +:100A400085E08093670120E040E065E08DEC48D2CE +:100A500005C0809167018F5F8093670188E893E10B +:100A60009093600180935F01909362018093610194 +:100A70002091F3014091F20161E08DEC4FC1813092 +:100A800051F5F090F4010091F3011091F20125DD90 +:100A900029988FEAE1DC812FDFDC802FDDDC8F2DD0 +:100AA000DBDCBE016F5F7F4F8091070190910801F1 +:100AB000B2DC882311F4898101C080E8CDDC299A59 +:100AC000809167018F5F8093670181E08093D302FB +:100AD0001092660124C1823009F07EC08091D30259 +:100AE000882309F052C057C0E0910701F091080136 +:100AF000938184819817A9F181E0809366018AE04F +:100B000090E09093600180935F01909362018093E5 +:100B1000610129988FEAA0DCBE016F5F7F4F809151 +:100B200007019091080177DC898196DC299A8091F0 +:100B3000F4018F5F8093F4018091F401882371F4B4 +:100B40008091F3018F5F8093F3018091F3018823FB +:100B500029F48091F2018F5F8093F201DDDC80FD4A +:100B6000FDCF80915F0190916001892B09F4B6C09F +:100B70008091F201873049F48091F3018F3F29F48D +:100B80008091F4018F3F09F4A9C080915801882316 +:100B900009F4AACFC4C09CDC80916601882399F037 +:100BA0004091F2018091F3014295407F82958F70D0 +:100BB000480F4093640180916D01481B20E062E082 +:100BC0008DEC8ED187C020E040E066E08DEC88D1CE +:100BD00085E080936701A3C0833091F58091650122 +:100BE000813011F484E027C0823039F520E040E004 +:100BF00064E08DEC75D190916D01992371F481E0E1 +:100C000080935A018AE090E09093620180936101A1 +:100C10001092670110925B0110C06091F201809107 +:100C2000F3016295607F82958F70680F6093640115 +:100C3000892F7ADC85E080936701109265016FC08F +:100C4000843009F04EC020E040E063E08DEC48D1F4 +:100C5000809188028F5F809388024091880283E0B0 +:100C6000489FA00111244F5F5F4F5093690140934B +:100C700068012091F201652F772780E07FDC4091A9 +:100C80006801509169014F5F5F4F50936901409334 +:100C900068012091F301652F772780E06FDC409198 +:100CA0006801509169014F5F5F4F50936901409314 +:100CB00068012091F401652F772780E05FDC909137 +:100CC000F2018091F3019295907F82958F70980F39 +:100CD00090936401809167018F5F7BCF1092D30264 +:100CE0001EC08530E1F402DE809388028AE090E045 +:100CF00090936201809361011092670110925B01F1 +:100D000081E080936E0020E040E060E08DECE8D070 +:100D10006091880220E0409164018BECE1D0219643 +:100D20000FB6F894DEBF0FBECDBFDF91CF911F91FC +:100D30000F91FF900895FC018181843061F4A281BC +:100D4000B3818C91882339F080818A3221F4B09369 +:100D50006F01A0936E0108951F920F920FB60F922C +:100D600011248F931092E0012A988091AC018EBDDE +:100D7000E89AE09A8F910F900FBE0F901F901895F0 +:100D80001F920F920FB60F9211248F939F93EF93A0 +:100D9000FF932A9919C00DB407FE16C09091E00187 +:100DA0008EB5E92FFF27E858FE4F80839F5F909311 +:100DB000E001933319F42A9AE89806C0E92FFF2737 +:100DC000E455FE4F80818EBDFF91EF919F918F91F1 +:100DD0000F900FBE0F901F901895E0910701F091B2 +:100DE000080123819481809171018F5F809371014B +:100DF000882301F5291B809170012817B0F42093F6 +:100E00007001203520F006C087B5815002C087B53B +:100E10008F5F87BD87B58F3F11F48EEF87BD87B594 +:100E2000803F40F480EF87BD089520937001293200 +:100E300058F7F0CF08950F931F93CF93DF93BC0122 +:100E4000E0914001F091410193818481981729F448 +:100E500001C0789481E090E014C0F894EB018B011C +:100E60000C5F1F4FBE018091400190914101D3DA88 +:100E7000882379F72196C017D107A1F7789480E0ED +:100E800090E0DF91CF911F910F910895FF920F9302 +:100E90001F93CF93DF939C01E0914001F0914101BA +:100EA00083819481891B8D3118F080E090E012C01D +:100EB000FFB6F894E90189010C5F1F4F6991809199 +:100EC00040019091410188DAC017D107B9F7FFBE00 +:100ED00081E090E0DF91CF911F910F91FF900895F5 +:100EE000CF93DF93CDB7DEB724970FB6F894DEBF6C +:100EF0000FBECDBF89836A834B832C83CE010196BD +:100F0000C5DF992787FD909524960FB6F894DEBF2C +:100F10000FBECDBFDF91CF910895FF920F931F9326 +:100F2000CF93DF93AC01E0913901F0913A01238135 +:100F30008481281B3327828199270497821793077E +:100F40001CF480E090E012C0FFB6F894EA018A0138 +:100F50000C5F1F4F69918091390190913A013CDA01 +:100F6000C017D107B9F7FFBE81E090E0DF91CF91C4 +:100F70001F910F91FF900895CF93DF93CDB7DEB708 +:100F800024970FB6F894DEBF0FBECDBF89836A8366 +:100F90004B832C83CE010196C0DF992787FD909566 +:100FA00024960FB6F894DEBF0FBECDBFDF91CF9170 +:100FB00008951F93CF93DF938091E001833308F46A +:100FC00060C01092E001E0914001F0914101838105 +:100FD0009481891B843010F410E00EC0CFEAD1E078 +:100FE000BE01809140019091410115DA219681E086 +:100FF000C33BD807A9F712E0E0910E01F0910F0171 +:1010000083819481891B813170F0C3EBD1E0BE01F3 +:1010100080910E0190910F01FED9219681E0C43C90 +:10102000D807A9F71460809177018093AC018F5F96 +:10103000809377011093AD019091780180917601B2 +:101040008917F9F09093760180917901C82FDD27F7 +:10105000C1FF08C08BE791E074D0882319F48BE7B7 +:1010600091E05BDFC2FF0DC0B8DECFE7D1E0699150 +:101070008091070190910801AFD981E0C13AD8076A +:10108000B1F744D1019709F443C080914D0190918B +:101090004E01039749F180916E0190916F01009785 +:1010A00061F04FD0882329F480916E0190916F01F7 +:1010B000EDDE10926F0110926E01E0913901F09116 +:1010C0003A01938184819817D1F0C2E7D1E0BE0143 +:1010D0008091390190913A019ED98823C9F42196D3 +:1010E00081E0C637D80799F789E491E01DD110C097 +:1010F0000DD1019769F08FE491E0DED009C0E09155 +:101100004001F091410183819481891B8D3180F3ED +:10111000DF91CF911F910895BFD09AE2909349013A +:1011200084E080934A0190934F01809350018BE9B2 +:1011300096E0A8D008958091390190913A013BD969 +:101140000895FC018081882309F468C0833011F47C +:1011500068D041C08039B1F480915C01882309F0E6 +:101160005DC080915B01882309F058C08281809323 +:10117000FA0181818093CA0281E080935C018093AF +:10118000D30229C0823949F48181882319F05F98FC +:10119000559821C05F9A559A1EC0823561F480919E +:1011A0005C01882311F010925C0181E08093D302EE +:1011B00080935B0110C0843521F481E080935A0153 +:1011C0000AC0833559F48181882311F081E001C080 +:1011D00082E08093650181E090E008958F3FD9F42B +:1011E0008091E6019181282F21502093E6013181E1 +:1011F000891728F43093E6011092E50109C0231BFA +:101200008091E501820F8093E50181818093E60161 +:101210008091E501828380E090E0089581E090E094 +:101220000895CF93DF93CDB7DEB72C970FB6F89420 +:10123000DEBF0FBECDBF80EF9DE1DE011196FC0148 +:101240000196E491ED932DE18C3F9207C1F7CE0119 +:1012500001961CDECE01059619DECE01099616DE3A +:101260006091880220E0409164018BEC39DE2C967D +:101270000FB6F894DEBF0FBECDBFDF91CF910895BA +:10128000289808959093EE018093ED01089590932E +:10129000F0018093EF0108951092E8011092E701A8 +:1012A000459A449A80E68093B90080E28093B80022 +:1012B00085E88093BC000895FC018091E70190913E +:1012C000E801019719F48FEF90E00895F093EA0197 +:1012D000E093E90181E090E09093E8018093E701D9 +:1012E000958384838081880F8F5F8093EB011092B8 +:1012F000EC0185EA8093BC0080E090E00895E091E5 +:10130000E901F091EA018081992708958091E70130 +:101310009091E80108951092E8011092E701089574 +:101320008091EC0199270895FC018091E70190914B +:10133000E801019719F48FEF9FEF0895F093EA0108 +:10134000E093E90181E090E09093E8018093E70168 +:10135000958384838081880F8093EB011092EC0148 +:1013600085EA8093BC0080E090E00895CF93DF93FE +:10137000CDB7DEB721970FB6F894DEBF0FBECDBF55 +:10138000198203C089818F5F898389818F3FD1F75B +:1013900085EA8093BC0021960FB6F894DEBF0FBE9D +:1013A000CDBFDF91CF9108951F920F920FB60F928C +:1013B00011242F933F934F935F936F937F938F935A +:1013C0009F93AF93BF93CF93DF93EF93FF9380915E +:1013D000B9009927887F90708035910509F4A2C0E3 +:1013E0008135910594F58032910509F4DDC0813293 +:1013F00091059CF48830910509F45CC08930910511 +:1014000024F4892B09F4EDC0EFC08031910509F473 +:1014100051C0489709F0E8C052C08833910509F4DB +:101420006FC08933910544F48832910509F447C0AF +:10143000C09709F0D9C0B8C08034910509F483C0C1 +:101440008834910509F0D0C0AFC08837910509F400 +:10145000B8C089379105ACF48036910509F4B1C064 +:10146000813691052CF48835910509F0BDC07AC00C +:101470008836910509F4A5C08037910509F0B4C0FC +:10148000A0C08039910509F4A2C0813991054CF4BE +:101490008038910509F49BC08838910509F0A4C0F3 +:1014A0009CC08839910509F498C0803A910509F0EB +:1014B0009BC08FC08091EB018093BB0051C0909185 +:1014C000EC01E091E901F091EA018181981770F453 +:1014D0008091EC010280F381E02DE80FF11D9081F5 +:1014E0008F5F8093EC019093BB003AC085E98093B5 +:1014F000BC0082E090E09093E8018093E7010FC088 +:101500008091BC0085688093BC0085E090E090935A +:10151000E8018093E701E091E901F091EA01958308 +:10152000848362C09091EC01E091E901F091EA01BD +:101530000280F381E02DE90FF11D8091BB008083D3 +:101540009F5F9093EC012091EC013327E091E9013A +:10155000F091EA0181819927019728173907BCF199 +:1015600085E840C0A091E901B091EA019091EC01B9 +:10157000ED01EA81FB81E90FF11D8091BB008083C1 +:101580009F5F9093EC0184E090E09093E80180935A +:10159000E7019D838C83E091ED01F091EE0130979E +:1015A00019F1CD0109951DC083E090E09093E80109 +:1015B0008093E701E091E901F091EA01958384834A +:1015C00010C081E090E09093E8018093E70185EC02 +:1015D00009C01092E8011092E7018091BC00856873 +:1015E00001C085E98093BC00FF91EF91DF91CF911D +:1015F000BF91AF919F918F917F916F915F914F912B +:101600003F912F910F900FBE0F901F90189581E082 +:10161000E1EFF1E0A0E0B0E0182E0ED0089581E0F7 +:10162000E1EFF1E0A0E0B0E0182E01D0089509D07C +:1016300001921A94E1F7089501900BD01A94E1F702 +:101640000895F999FECFB2BDA1BDF89A119600B4E4 +:101650000895F999FECFB2BDA1BD00BC11960FB699 +:0C166000F894FA9AF99A0FBE0895FFCF93 +:10166C000401080280000002018A02400000090106 +:10167C00140100000001000002000003000004003F +:10168C000005000006000007000007800007A0000E +:10169C0007C00001D4021000003401E40220000055 +:1016AC003B01040320000042010000720100000015 +:0616BC0000E10100000046 +:0C1DF000C8010500C96F0401CA00000012 +:00000001FF Added: firmware/hex_dev/new_rf/tuxcore.eep =================================================================== --- firmware/hex_dev/new_rf/tuxcore.eep (rev 0) +++ firmware/hex_dev/new_rf/tuxcore.eep 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,16 @@ +:100000001831331A00144102000012900400000A53 +:100010001B350000003E020000FF00000000000051 +:100020009A021E00FF000000000000000000000017 +:100030009A021E00FF000000000000000000000007 +:100040009A021E00FF0000000000000000000000F7 +:1000500041020000009A0432000090030000FF03F8 +:10006000900200000041020000FF00000000000AB2 +:1000700038900100FF0000000000000000000000B8 +:1000800033900500FF0000000000000000000000A9 +:100090001A000000FF000000000000000000000047 +:1000A0001B000000FF000000000000000000000531 +:1000B000900600000541020000FF00000000000A59 +:1000C000900700000A410200000A80020500FF0AB2 +:1000D000900800000A410200000080020500FF01B4 +:0200E00001001D +:00000001FF Added: firmware/hex_dev/new_rf/tuxcore.hex =================================================================== --- firmware/hex_dev/new_rf/tuxcore.hex (rev 0) +++ firmware/hex_dev/new_rf/tuxcore.hex 2008-06-26 13:34:48 UTC (rev 1272) @@ -0,0 +1,456 @@ +:1000000019C00BC90AC406C399C4B6C22EC02EC0FB +:100010002CC02BC02AC021C52BC50CC553C925C077 +:1000200024C023C022C021C020C093C11EC01DC057 +:10003000DCC71BC011241FBECFEFD4E0DEBFCDBF95 +:1000400011E0A0E0B1E0E6E1FCE102C005900D9214 +:10005000AC33B107D9F711E0ACE3B1E001C01D92B8 +:10006000A33EB107E1F732D0D5CDCACF1F920F9290 +:100070000FB60F9211248F939F9380913F018F5F52 +:1000800080933F0191E090933C01893179F4109283 +:100090003F0190933D01809140018F5F809340012B +:1000A0008A3021F41092400190933E019F918F91EC +:1000B0000F900FBE0F901F901895269A87B18C60F5 +:1000C00087B92F9A87E08BBB78940895CFEFD4E05F +:1000D000DEBFCDBFD9D1FBD982E08093B00096E0DE +:1000E0009093B1001092B2009DE79093B30080937B +:1000F0007000E3DF5DD1B8DB82D4F6D5FBD9809107 +:100100003C018823A9F010923C01B2D380916C018C +:10011000811153D180917801882319F08150809307 +:10012000780190E080910F01811191E0892F7FD5B6 +:1001300080913D01882371F010923D0191E09093F0 +:1001400076018091DA01882329F081508093DA01C9 +:100150009093D90180913E01882311F010923E01C5 +:1001600080917601882309F483C080910D019091DC +:100170000E01892B09F07CC0109276012091670155 +:100180004091660160915A0181EC05D629B146B1D2 +:1001900063B180EC00D62091710140916F016091B4 +:1001A0006D0183ECF8D52091650140916401609167 +:1001B000730184ECF0D5809180018823F1F01092D6 +:1001C000800180912101880F880F880F20912001E4 +:1001D000220F220F282B90911401990F8091130167 +:1001E000982B80910F018295807F892B282B40913D +:1001F0001F01609112018EECCED580916B0180FFC2 +:100200000BC08E7F80936B0120915F0140915D0157 +:1002100060915E0182ECBFD580916B0181FF0BC0C4 +:100220008D7F80936B01209162014091600160910C +:10023000610187ECB0D540916A01442349F04150F7 +:1002400040936A01209163016091630185ECA3D51D +:1002500040917B0150917C014115510521F020E036 +:1002600060E089EF98D580916C01816080936C018A +:1002700080917501882361F029D5882349F0609128 +:10028000750161506093750120E040E08FEF83D5E8 +:10029000C3DAD9DB80910D0190910E01029709F02C +:1002A0002ECF8091DA01882309F029CFF89410929B +:1002B00068001DBA10927A00ABD30ED977D00FD157 +:1002C00023D27FD1E1D19091640089EE80936400C4 +:1002D00080E280936B0081E08BBB8091680081603D +:1002E0008093680083B7817F846083BF83B7816018 +:1002F00083BF7894889583B78E7F83BF9093640083 +:10030000F3D4C2D0DADE54D083E090E090930E01B3 +:1003100080930D0182E08093DA01F1CE9093420147 +:100320008093410108958FE880937A000895109298 +:100330007A00089580937C00EAE7F0E08081806491 +:100340008083089520917800822F20917900922F48 +:1003500008951F920F920FB60F9211242F933F937F +:100360004F935F936F937F938F939F93AF93BF93BD +:10037000EF93FF93E0914101F09142010995FF91C4 +:10038000EF91BF91AF919F918F917F916F915F910D +:100390004F913F912F910F900FBE0F901F90189586 +:1003A00080916C01826080936C010895C0DF089594 +:1003B00080ED91E0B3DFB7DF08958091430188239A +:1003C00039F480916C018E7F80936C0186E02EC0A1 +:1003D000813099F5B7DF9C0188B1817080935F010E +:1003E0002932310528F440990BC0409A389A08C048 +:1003F00083E0283E380720F0409B02C040983898A0 +:1004000020935D0130935E0180916B018160809348 +:100410006B0180916C018D7F80936C0180916501EF +:10042000882319F081E08093440187E083DF809185 +:1004300043018F5F809343010895823021F58091BD +:100440006501882319F081E0809344017BDF80936C +:1004500060019093610180914401882321F081E043 +:100460008093620102C01092620110924401809157 +:100470006B01826080936B0180916C018D7F809312 +:100480006C011092430108953998419A8AB18F7393 +:100490008AB98BB1806C8BB984B1877E84B985B100 +:1004A000886185B953985B9A88E180936B00E8E690 +:1004B000F0E080818160808382E080936C008081A5 +:1004C0008260808380E880936D0080818460808377 +:1004D000E9E6F0E0808188608083E99A0895419898 +:1004E000399A8BB18F738BB98AB1806C8AB985B117 +:1004F000877E85B984B1886184B95B98539A0895E1 +:10050000823029F4609300016093020108958350C2 +:10051000823020F46093010160930301089580917B +:1005200065018B7F8093650110926D018BB18C7F8B +:100530008BB90895909165019460909365018093C3 +:100540006D015998589A08954E9B04C04F9B02C064 +:1005500082E003C04F9903C081E0ECDF089582E0A0 +:1005600080936D0108954F9B03C081E0E3DF089500 +:1005700082E080936D0108951F920F920FB60F9243 +:1005800011248F934F9904C081E080930F0102C022 +:1005900010920F0180916D01882369F08150809342 +:1005A0006D01882341F48BB18C7F8BB95898599A8F +:1005B00084E0809347018F910F900FBE0F901F90A2 +:1005C000189580916501877F8093650110926F0176 +:1005D0008BB18C7F8BB90895909165019860909351 +:1005E000650180936F015898599A08951B9902C02C +:1005F000599B05C082E0F0DF81E080934A010895B5 +:100600001C9902C0599B05C082E0E6DF82E080931E +:100610004A0108951F920F920FB60F9211248F93E3 +:100620009F9383B199278095909588719070892BBD +:1006300021F180916F01882301F1982F91509093BF +:100640006F0180914A01882361F0813019F41B9970 +:1006500008C004C0823029F41C9903C010926F01B5 +:1006600002C0992351F410924A018BB18C7F8BB94F +:100670005998589A88E0809348019F918F910F90E4 +:100680000FBE0F901F901895809165018F7E80930B +:10069000650110927101809172018E7F80937201C9 +:1006A0005C982898089590916501906190936501F8 +:1006B00080937101609302015C9890917201916046 +:1006C0009093720185B1892B85B908958FEF80933E +:1006D000700165E082E0E7DF08958091640188237E +:1006E00021F465E081E0DFDF089582E0809371010D +:1006F000089580916401813019F465E0D4DF089594 +:1007000082E0809371010895809165018C7F8093D0 +:1007100065011092730180917201897F809372014B +:1007200085B1897F85B90895982F80916501816091 +:10073000809365019093730180914C01813039F46D +:100740004B9B05C0992319F09F5F90937301109202 +:100750004C0160930301909172019B7F9260909392 +:10076000720185B1892B85B90895982F8091650113 +:100770008260809365019093730180914C0188237E +:1007800039F44B9B05C0992319F09F5F9093730137 +:1007900081E080934C0160930301909172019D7FF1 +:1007A00094609093720185B1892B85B90895282FA3 +:1007B000962F882341F440FF03C06093470160E017 +:1007C000862FB8DE0895813041F440FF03C0609366 +:1007D000480160E0862F00DF0895823059F440FD23 +:1007E00002C0862F03C06093490180E06091000140 +:1007F0005ADF08958350823078F440FF02C060933E +:100800004B01233029F460910101892F8DDF089578 +:1008100060910101892FA9DF08951F920F920FB6F1 +:100820000F9211248F939F93809173018823C9F0B5 +:100830008150809373018823A1F490917201997F74 +:100840009093720185B1897F85B98AE080934B01CD +:1008500080914C01882311F4946001C092609093C0 +:1008600072019F918F910F900FBE0F901F9018955E +:100870009091450180910201981709F42898809180 +:100880000301981719F485B1897F85B9892F8F5F86 +:1008900080934501863039F41092450185B19091DD +:1008A0007201892B85B980917001882361F0815094 +:1008B00080937001882339F4809172018E7F809338 +:1008C00072015C98289880914901882341F08150F9 +:1008D00080934901882319F4D7DE10920201809198 +:1008E0004701882331F0815080934701882309F420 +:1008F00016DE80914801882331F0815080934801B1 +:10090000882309F45EDE80914B01882331F0815009 +:1009100080934B01882309F4F7DE809146018823F8 +:1009200061F0815080934601882339F482E08BBBCB +:100930008091680082608093680008951F920F92F2 +:100940000FB60F9211242F933F934F938F939F9342 +:1009500082E080934601809168008D7F80936800DB +:10096000319943C08091640191E0892780936401AB +:1009700040917001442321F1809171018130E9F4AB +:1009800080917401882399F0242F33279927409769 +:100990002817390764F4809164018E7F8093640185 +:1009A00010927001109274011092710112C0409364 +:1009B00074018FEF8093700118C08FEF80937001E6 +:1009C00080917101882389F081508093710188237F +:1009D00061F4809172018E7F809372015C982898F7 +:1009E00028985C9A84E0809349019F918F914F9160 +:1009F0003F912F910F900FBE0F901F90189591E08F +:100A0000909380008AE08093810090936F00089516 +:100A100010928100EFE6F0E080818D7F8083429824 +:100A200080914E01837F80934E0180818B7F8083F4 +:100A3000439808951F920F920FB60F9211248F932F +:100A40009F9388B190914E01892B88B99F918F9186 +:100A50000F900FBE0F901F9018951F920F920FB618 +:100A60000F92112442980F900FBE0F901F9018956F +:100A70001F920F920FB60F92112443980F900FBE42 +:100A80000F901F9018959C01E2E1F1E013C020FF48 +:100A900002C02E7F05C021FF03C02D7FEFE1F1E0F2 +:100AA00091E092834187662329F0608783858823BC +:100AB00009F49487C90183709070892B41F70895D8 +:100AC0009C01E2E1F1E00BC020FF02C02E7F05C0D7 +:100AD00021FF03C02D7FEFE1F1E067834683C90169 +:100AE00083709070892B81F708959C01E2E1F1E019 +:100AF0000DC020FF02C02E7F05C021FF03C02D7F47 +:100B0000EFE1F1E06111648341114583C901837014 +:100B10009070892B71F708950F931F93082F162F4C +:100B2000809113018823B1F480911401882391F4FA +:100B300080912001882371F480912101882351F450 +:100B40004AE061E083E090E0D0DF412F602F83E056 +:100B500090E099DF1F910F9108959C01E2E1F1E08F +:100B600041E00EC020FF02C02E7F05C021FF03C060 +:100B70002D7FEFE1F1E063834183128213861486B7 +:100B8000C90183709070892B69F70895FC018181F8 +:100B9000882329F182858823F9F481E080938001FC +:100BA000638120813581822F9927462F552726176B +:100BB00038F4830F911D841795073CF4230F09C067 +:100BC000831B9109481759071CF06083118207C0E5 +:100BD000231B20838481828782858150828783853D +:100BE000882331F081508387882311F481E0848742 +:100BF00081818823D9F484858823C1F080858F3F43 +:100C000021F081508087882319F08185838701C076 +:100C1000128296818081981718F08781838301C0A2 +:100C2000938381E0818384818287148608951F9352 +:100C3000182F80914F01811729F010934F0181E007 +:100C40008093800182E191E0A1DF8FE191E09EDF5E +:100C500020911201263010F0112361F080914E0195 +:100C60008B7F80934E0180916F008D7F80936F000A +:100C700042980AC080914E01846080934E01809119 +:100C80006F00826080936F0090911F01963010F08A +:100C9000112361F080914E01877F80934E018091F6 +:100CA0006F008B7F80936F0043980AC080914E0144 +:100CB000886080934E0180916F00846080936F0004 +:100CC0002093880090938A001F910895E091380145 +:100CD000F091390120E030E093818481981711F47C +:100CE00021E030E0C901089509D188EE96E0FCD0FA +:100CF00086E497E0FED080913801909139013CD292 +:100D00000895E0913801F091390193818481981719 +:100D100019F080E090E0089524D120E0019709F4D3 +:100D200021E081E02827822F992708950F931F93B0 +:100D3000CF93DF93AC01E0913801F0913901238129 +:100D40008481281B33278281992704978217930770 +:100D500054F406C084E090E090937C0180937B0182 +:100D600080E090E013C0F894EA018A010C5F1F4F05 +:100D7000699180913801909139010FD2882351F700 +:100D8000C017D107A9F7789481E090E0DF91CF9167 +:100D90001F910F910895CF93DF93CDB7DEB72497BE +:100DA0000FB6F894DEBF0FBECDBF89836A834B8335 +:100DB0002C83CE010196BADF992787FD9095249662 +:100DC0000FB6F894DEBF0FBECDBFDF91CF9108956F +:100DD0000F931F93CF93DF93843019F085E090E059 +:100DE00010C0E0913101F091320123818481281BF0 +:100DF0003327828199270497821793073CF481E077 +:100E000090E090937C0180937B010DC0EB018B01FE +:100E10000C5F1F4F69918091310190913201BDD1DA +:100E2000C017D107B9F7DF91CF911F910F910895A6 +:100E30000F931F93CF93DF93BC01E0913101F091A9 +:100E4000320193818481981751F406C082E090E0CA +:100E500090937C0180937B0180E090E012C0EB01D5 +:100E60008B010C5F1F4FBE018091310190913201C7 +:100E7000B3D1882359F72196C017D107A1F781E094 +:100E800090E0DF91CF911F910F9108950F931F93E1 +:100E9000CF93DF93082FEB01E0913801F0913901F6 +:100EA00093818481981751F406C083E090E0909379 +:100EB0007C0180937B0180E090E011C010E00BC0CA +:100EC000BE01610F711D809138019091390184D16B +:100ED000882359F71F5F101799F781E090E0DF91A1 +:100EE000CF911F910F9108959093570180935601D0 +:100EF00008959093590180935801089510925101DB +:100F000010925001459A449A84E58093BA0080E695 +:100F10008093B90080E28093B80085EC8093BC0098 +:100F20000895FC018091500190915101019719F4AD +:100F30008FEF9FEF0895F0935301E093520181E00A +:100F400090E090935101809350018081880F8093AD +:100F500054011092550185EE8093BC0080E090E032 +:100F6000089580915001909151010895CF93DF939E +:100F7000CDB7DEB721970FB6F894DEBF0FBECDBF59 +:100F8000198203C089818F5F898389818F3FD1F75F +:100F900085EE8093BC0021960FB6F894DEBF0FBE9D +:100FA000CDBFDF91CF910895FC01809150019091C8 +:100FB0005101019719F48FEF90E00895F0935301D8 +:100FC000E093520181E090E09093510180935001B1 +:100FD0008081880F8F5F809354011092550185EEB8 +:100FE0008093BC0080E090E008951F920F920FB6AE +:100FF0000F9211242F933F934F935F936F937F939F +:101000008F939F93AF93BF93EF93FF938091B9001A +:101010009927887F90708039910509F448C08139FB +:101020009105E4F480379105C9F18137910554F4B5 +:101030008036910599F18836910581F1892B09F463 +:1010400087C089C08038910591F18838910509F4ED +:101050004EC08837910509F07EC020C0803B9105C5 +:1010600009F449C0813B910564F4803A910581F10E +:10107000883A910509F43FC08839910509F06BC0A1 +:1010800036C0803C910509F45BC0883C910509F4A9 +:1010900057C0883B910509F05EC043C081E090E0F5 +:1010A00090935101809350011092C6014FC08091DE +:1010B000C6019091BB00E82FFF27E953FE4F9083B4 +:1010C0008F5F8093C601843008F440C085E841C03A +:1010D0008091C601843039F4E0915601F0915701B6 +:1010E00067EC71E0099510925101109250018091C6 +:1010F000BC00856C2EC081E090E0909351018093FC +:101100005001E0915801F0915901309751F062EC93 +:1011100071E084E00995882321F01092C10190E0EC +:1011200004C09091C101943078F4E92FFF27EE5369 +:10113000FE4F80818093BB009F5F9093C10106C0EA +:1011400010925101109250011092BB0085EC01C029 +:1011500085ED8093BC00FF91EF91BF91AF919F917E +:101160008F917F916F915F914F913F912F910F9050 +:101170000FBE0F901F901895FC01138214820895E2 +:10118000FC0120E030E083819481891B92818917E2 +:1011900011F421E030E0C9010895DC01FC01238154 +:1011A00092818481F22FF81BF91719F481E090E005 +:1011B0000895E22FFF27892F99270197E823F92324 +:1011C0008D919C911197E80FF91F60832F5FFD01AE +:1011D000238380E090E00895CF93DF93DC01EC015E +:1011E0002C818B81281719F482E090E013C0E22F44 +:1011F000FF27ED018A8199270197E823F9238D9133 +:101200009C91E80FF91F8081FB0180832F5F2C8365 +:1012100080E090E0DF91CF9108951F920F920FB67A +:101220000F9211248F939F938091D10183FF04C06B +:1012300080E88093D0013FC08091D10184FF1EC01F +:1012400085B58E7F85BD8091D0018095982F96952C +:10125000880F891B8093CF018091D1018F7E80936D +:10126000D1018091D10180628093D1018CE0809383 +:10127000CE011092D3011092D2011DC08091D101F4 +:1012800085FF0EC08091CF018093D00185B581602C +:1012900085BD8091D1018F7B8093D101E8980BC0EF +:1012A0008FEF8093D00185B5816085BD8091D1019C +:1012B00080618093D1019F918F910F900FBE0F900D +:1012C0001F9018951F920F920FB60F9211242F9313 +:1012D0003F934F938F939F935D988091D001882384 +:1012E00021F08091D001815013C08091D10180FF05 +:1012F00086C08091D10186FF0EC08091D1018860A7 +:101300008093D1018091D1018F798093D10180E8C0 +:101310008093D001D2C08091D10185FF63C08091BC +:10132000CE0181508093CE014A9B13C08091D2019F +:101330009091D3014091CE0121E030E002C0220F14 +:10134000331F4A95E2F7822B932B9093D30180931E +:10135000D2018091CE018823A9F582E080936A01B1 +:101360008091D10188608093D1018091D1018F7DDE +:101370008093D10180E88093D0018091D201909137 +:10138000D3018F73809363018091D2019091D30137 +:10139000807C97708054974029F480916301806825 +:1013A000809363018091D2019091D30193FF04C097 +:1013B00080916301806403C0809163018F7B80937F +:1013C000630108C08091D10180648093D10180E8DD +:1013D0008093D00180916900816080936900E09AD8 +:1013E000E89A6BC08091D10183FF67C08091D101E1 +:1013F000877F8093D10185B58E7F85BD5EC080914A +:10140000D10182FF0AC08091D10192E089278093A7 +:10141000D1018091D1018B7F26C08091CE0188239C +:1014200049F18091CE0181508093CE012091CB0172 +:101430003091CC014091CE0181E090E002C0880F54 +:10144000991F4A95E2F728233923232B21F4809111 +:10145000D101826003C08091D1018D7F8093D10141 +:101460008091D10184608093D1018091CF018093DC +:10147000D00119C08091D10188608093D101809101 +:10148000D10181608093D1018091D1018D7F8093C2 +:10149000D10180E88093D0018091690081608093C0 +:1014A0006900E09AE89A8091D10181FF03C084B578 +:1014B000806202C084B58F7D84BD9F918F914F91D2 +:1014C0003F912F910F900FBE0F901F9018955D9830 +:1014D000559A08955D9A08955D98089583E084BDB6 +:1014E00088E085BD16BC88BD83ED87BD82E0809312 +:1014F0006E000895F3DF81E08093D1018091D101E6 +:1015000088608093D10180E88093D00185B58160A7 +:1015100085BDE9E6F0E0808181608083E09AE89A09 +:10152000089585B58E7F85BDE898089585B58E7F31 +:1015300085BDE8980895EF92FF920F931F93082FAF +:10154000E62E85B58E7F85BDE898C8DF1092D10163 +:101550008EE08093CE011092D0011092D101006CE8 +:1015600011271093CC010093CB018091CB01909176 +:10157000CC0126E0880F991F2A95E1F79093CC01C2 +:101580008093CB018091CB019091CC01FF242FE37C +:10159000E222FF248E299F299093CC018093CB01D6 +:1015A00082E28093CF0185B5816085BD1F910F9147 +:1015B000FF90EF900895CF93DF93CDB7DEB72C97D0 +:1015C0000FB6F894DEBF0FBECDBFFC018081803F17 +:1015D00009F052C0DF011196818183FF07C080911D +:1015E0005A0183FD03C081E0809306018C9180FF46 +:1015F00007C080915A0180FD03C081E080930701FC +:101600008C9181FF07C080915A0181FD03C081E068 +:10161000809308018C9184FF07C080915A0184FD5A +:1016200003C081E0809309018C9182FD07C0809105 +:101630005A0182FF03C081E080930A018C9185FFEB +:101640000AC080915A0185FD0DC081E0... [truncated message content] |
From: Paul_R <c2m...@c2...> - 2008-06-26 13:13:50
|
Author: Paul_R Date: 2008-06-26 15:13:59 +0200 (Thu, 26 Jun 2008) New Revision: 1271 Modified: software/tuxgi/trunk/tuxgi.py Log: * Bug : Voice list not always loaded at startup Modified: software/tuxgi/trunk/tuxgi.py =================================================================== --- software/tuxgi/trunk/tuxgi.py 2008-06-26 12:17:37 UTC (rev 1270) +++ software/tuxgi/trunk/tuxgi.py 2008-06-26 13:13:59 UTC (rev 1271) @@ -121,9 +121,8 @@ tux.event.handler.register(ST_NAME_FLIPPERS_RM, self.on_flippers_stop) tux.event.handler.register("all", self.on_status) tux.tts.registerEventOnVoiceList(self.update_voice_list) + tux.server.waitConnected() self.update_voice_list() - #self.__t = threading.Thread(target = self.status_viewer_thread) - #self.__t.start() thread.start_new_thread(self.status_viewer_thread,()) |
From: Paul_R <c2m...@c2...> - 2008-06-26 12:17:41
|
Author: Paul_R Date: 2008-06-26 14:17:37 +0200 (Thu, 26 Jun 2008) New Revision: 1270 Modified: software/tuxgi/trunk/tuxgi.py Log: * Bug fix : glitches with the radio buttons Modified: software/tuxgi/trunk/tuxgi.py =================================================================== --- software/tuxgi/trunk/tuxgi.py 2008-06-26 09:02:41 UTC (rev 1269) +++ software/tuxgi/trunk/tuxgi.py 2008-06-26 12:17:37 UTC (rev 1270) @@ -222,10 +222,11 @@ def on_mouth_stop(self, value, timeout): global toggled_by_event toggled_by_event=True - if tux.mouth.getPosition() == SSV_CLOSE: - self.get_widget("radiobutton4").set_active(True) - else: - self.get_widget("radiobutton3").set_active(True) + if not int(value): + if tux.mouth.getPosition() == SSV_CLOSE: + self.get_widget("radiobutton4").set_active(True) + else: + self.get_widget("radiobutton3").set_active(True) toggled_by_event=False #-------------------------------------------------------------------------- @@ -234,10 +235,11 @@ def on_eyes_stop(self, value, timeout): global toggled_by_event toggled_by_event=True - if tux.eyes.getPosition() == SSV_OPEN: - self.get_widget("radiobutton1").set_active(True) - else: - self.get_widget("radiobutton2").set_active(True) + if not int(value): + if tux.eyes.getPosition() == SSV_OPEN: + self.get_widget("radiobutton1").set_active(True) + else: + self.get_widget("radiobutton2").set_active(True) toggled_by_event=False #-------------------------------------------------------------------------- @@ -246,10 +248,11 @@ def on_flippers_stop(self, value, timeout): global toggled_by_event toggled_by_event=True - if tux.flippers.getPosition() == SSV_UP: - self.get_widget("radiobutton5").set_active(True) - else: - self.get_widget("radiobutton6").set_active(True) + if not int(value): + if tux.flippers.getPosition() == SSV_UP: + self.get_widget("radiobutton5").set_active(True) + else: + self.get_widget("radiobutton6").set_active(True) toggled_by_event=False #-------------------------------------------------------------------------- |
From: remi <c2m...@c2...> - 2008-06-26 09:02:38
|
Author: remi Date: 2008-06-26 11:02:41 +0200 (Thu, 26 Jun 2008) New Revision: 1269 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_unix.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c Log: * updated the usb hid connection in order to intercept the disconnections of the dongle. Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_unix.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_unix.c 2008-06-25 14:51:57 UTC (rev 1268) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_unix.c 2008-06-26 09:02:41 UTC (rev 1269) @@ -86,7 +86,31 @@ return false; } + +static bool +check_device_still_plugged(void) +{ + FILE *fp; + if (tux_device_hdl == -1) + { + return false; + } + else + { + fp = fopen(tux_device_path, "r"); + if (fp) + { + fclose(fp); + return true; + } + else + { + return false; + } + } +} + bool LIBLOCAL tux_hid_capture(int vendor_id, int product_id) { @@ -122,6 +146,11 @@ int i; int err; + if (!check_device_still_plugged()) + { + return false; + } + rinfo_out.report_type = HID_REPORT_TYPE_OUTPUT; rinfo_out.report_id = HID_REPORT_ID_FIRST; @@ -160,6 +189,11 @@ int i; int err; + if (!check_device_still_plugged()) + { + return false; + } + rinfo_out.report_type = HID_REPORT_TYPE_INPUT; rinfo_out.report_id = HID_REPORT_ID_FIRST; Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-25 14:51:57 UTC (rev 1268) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-26 09:02:41 UTC (rev 1269) @@ -328,7 +328,7 @@ if ((packet_count == 0) && (rf_state == 1)) { read_error_counter++; - log_warning("Read errors count : %d\n", read_error_counter); + log_warning("Read errors count : %d", read_error_counter); if (read_error_counter >= TUX_USB_ERROR_LIMIT) { /* Reset of the RF */ @@ -479,6 +479,8 @@ set_read_loop_started(true); + log_info("Start the statuses read loop"); + while (tux_usb_connected()) { current_timeout += TUX_READ_LOOP_INTERVAL; @@ -502,6 +504,8 @@ } set_read_loop_started(false); + + log_info("Statuses read loop stopped"); } /** |
From: Paul_R <c2m...@c2...> - 2008-06-25 14:51:48
|
Author: Paul_R Date: 2008-06-25 16:51:57 +0200 (Wed, 25 Jun 2008) New Revision: 1268 Modified: software/tuxgi/trunk/tuxgi.py Log: * Removed the TTS play toggle on sound event. I've also removed the mouth movement on the sound event, because of the interaction with attitunes. Modified: software/tuxgi/trunk/tuxgi.py =================================================================== --- software/tuxgi/trunk/tuxgi.py 2008-06-25 14:38:07 UTC (rev 1267) +++ software/tuxgi/trunk/tuxgi.py 2008-06-25 14:51:57 UTC (rev 1268) @@ -506,17 +506,9 @@ global onplay global toggled_by_event if value == "ON": - toggled_by_event=True - self.get_widget("togglebutton3").set_active(True) - toggled_by_event=False onplay=True - tux.mouth.open() else: - toggled_by_event=True - self.get_widget("togglebutton3").set_active(False) - toggled_by_event=False onplay=False - tux.mouth.close() #-------------------------------------------------------------------------- # On new authorized voices list event |
From: jaguarondi <c2m...@c2...> - 2008-06-25 14:38:05
|
Author: jaguarondi Date: 2008-06-25 16:38:07 +0200 (Wed, 25 Jun 2008) New Revision: 1267 Modified: firmware/tuxaudio/branches/new_rf/communication.c firmware/tuxaudio/branches/new_rf/fifo.h firmware/tuxaudio/branches/new_rf/main.c Log: * Now in 16kHz with microphone and I2C running. Modified: firmware/tuxaudio/branches/new_rf/communication.c =================================================================== --- firmware/tuxaudio/branches/new_rf/communication.c 2008-06-25 11:11:17 UTC (rev 1266) +++ firmware/tuxaudio/branches/new_rf/communication.c 2008-06-25 14:38:07 UTC (rev 1267) @@ -245,7 +245,8 @@ /** \name SPI frame constants * @{ */ /** Size of the audio data in the SPI frame */ -#define AUDIO_SIZE 17 +#define AUDIO_SPK_SIZE 34 +#define AUDIO_MIC_SIZE 17 /* Bits of the config byte */ #define CFG_CRCOK_MK _BV(0) @@ -259,7 +260,6 @@ #define SPI_CONFIG_OFFSET 1 #define SPI_DATA_OFFSET 3 #define SPI_AUDIO_OFFSET (SPI_DATA_OFFSET + CMD_SIZE) -#define SPI_PREVAUDIO_OFFSET (SPI_AUDIO_OFFSET + AUDIO_SIZE) /*! @} */ static uint8_t frame_in_idx, frame_out_idx; @@ -326,7 +326,7 @@ slope = 1; prev_stack_length = stack_length; - if (slope && stack_length > 50) + if (slope && stack_length > 40) OCR0A--; if (!slope && stack_length < 80) OCR0A++; @@ -371,10 +371,10 @@ FifoGet(rf_cmdout_buf, &spi_out[i+SPI_DATA_OFFSET]); } } - if (FifoLength(ADCFifo) >= AUDIO_SIZE) + if (FifoLength(ADCFifo) >= AUDIO_MIC_SIZE) { config |= CFG_AUDIO_MK; - for (i=0; i<AUDIO_SIZE; i++) + for (i=0; i<AUDIO_MIC_SIZE; i++) { FifoGet(ADCFifo, &spi_out[i+SPI_AUDIO_OFFSET]); } @@ -400,24 +400,14 @@ { adapt_audio_rate(); - //static uint8_t cnt = 0; - //for (i=0; i<AUDIO_SIZE; i++) - for (i=0; i<34; i++) + for (i=0; i<AUDIO_SPK_SIZE; i++) { - //if ((spi_in[i+SPI_AUDIO_OFFSET] == (cnt+1)) || - //(spi_in[i+SPI_AUDIO_OFFSET] == (cnt-1))) - //{ + FifoPut(PWMFifo, spi_in[i+SPI_AUDIO_OFFSET]); + //XXX DEBUG: used to show when the stack overflows. + //if (FifoPut(PWMFifo, spi_in[i+SPI_AUDIO_OFFSET]) != FIFO_OK) //PORTB |= 0x80; // XXX DEBUG - //} //else //PORTB &= ~0x80; // XXX DEBUG - //cnt = spi_in[i+SPI_AUDIO_OFFSET]; - - //FifoPut(PWMFifo, spi_in[i+SPI_AUDIO_OFFSET]); - if (FifoPut(PWMFifo, spi_in[i+SPI_AUDIO_OFFSET]) != FIFO_OK) - PORTB |= 0x80; // XXX DEBUG - else - PORTB &= ~0x80; // XXX DEBUG } } //PORTB &= ~0x80; // XXX DEBUG Modified: firmware/tuxaudio/branches/new_rf/fifo.h =================================================================== --- firmware/tuxaudio/branches/new_rf/fifo.h 2008-06-25 11:11:17 UTC (rev 1266) +++ firmware/tuxaudio/branches/new_rf/fifo.h 2008-06-25 14:38:07 UTC (rev 1267) @@ -157,6 +157,22 @@ int8_t FifoPut(fifo_t *p, uint8_t const data); int8_t FifoGet(fifo_t *p, uint8_t *data); +static inline void FifoPut_inl(fifo_t *p, uint8_t const data) +{ + if (FifoLength(p) == p->size) + return; + + p->buffer[p->inIdx++ & (p->size-1)] = data; /* store data */ +} + +static inline void FifoGet_inl(fifo_t *p, uint8_t *data) +{ + if (p->outIdx == p->inIdx) + return; + + *data = p->buffer[p->outIdx++ & (p->size-1)]; +} + /*! @} */ /*! @} */ #endif /* _FIFO_H_ */ Modified: firmware/tuxaudio/branches/new_rf/main.c =================================================================== --- firmware/tuxaudio/branches/new_rf/main.c 2008-06-25 11:11:17 UTC (rev 1266) +++ firmware/tuxaudio/branches/new_rf/main.c 2008-06-25 14:38:07 UTC (rev 1267) @@ -181,13 +181,14 @@ { sei(); // Reactivate global interrupt in case of flash programmation + /* Check for stack overflow. */ if (!check_stack()) while(1) { PORTB |= 0x80; PORTB &= ~0x80; } - spiTransaction(); // Spi transaction from radio + //spiTransaction(); // Spi transaction from radio //XXX to delete //if (commandRX) // commend RX from radio @@ -328,16 +329,20 @@ ISR(__vector_audio_sampling) { //FifoPut(ADCFifo, ADCH); - FifoGet(PWMFifo, (uint8_t *)&OCR0B); /* set the sample value to timer pulse width */ - /*if (FifoGet(PWMFifo, (uint8_t *)&OCR0B)) [> set the sample value to timer pulse width <]*/ - /*{*/ - /*PORTB &= ~0x80; // XXX DEBUG*/ - /*}*/ - /*else*/ - /*{*/ - /*PORTB |= 0x80; // XXX DEBUG*/ - /*}*/ + /* Speaker at 16kHz */ + FifoGet_inl(PWMFifo, (uint8_t *)&OCR0B); + + if (sampling_pwm & 0x02) + { + /* Microphone at 8kHz */ + FifoPut_inl(ADCFifo, ADCH); + ADCSRA |= 0x40; + if (--sendSensorsCmpt == 0) + sendSensorsFlag = 1; + } + + // XXX DEBUG: used to generate a saw waveform //static uint8_t cnt = 0; //static uint8_t dir = 1; //#define STEP 8 @@ -348,16 +353,13 @@ //cnt -= STEP; //if ((cnt >= (0xFF - STEP)) || (cnt == 0)) //dir = !dir; - - ADCSRA |= 0x40; - if (--sendSensorsCmpt == 0) - sendSensorsFlag = 1; } /* * Timer 0 overflow interrupt service routine (PWM) * 32KHz timer so the ISR is called each 31.25us */ +#if 0 ISR(SIG_OVERFLOW0) { /* timer 0 is clocked at 32KHz so we divide it by 4 to get 8KHz */ @@ -367,7 +369,29 @@ cli(); } } +#endif +#if 1 +ISR(SIG_OVERFLOW0) __attribute__((naked)); +ISR(SIG_OVERFLOW0) +{ + asm volatile ( + "in r0, 0x3f" "\n\t" + "push r28" "\n\t" + "lds r28, 0x0100" "\n\t" + "subi r28, 0xFF" "\n\t" + "sts 0x0100, r28" "\n\t" + "sbrs r28, 0" "\n\t" + "rjmp v_out" "\n\t" + "rcall __vector_audio_sampling" "\n\t" + "cli" "\n\t" + "v_out:" + "pop r28" "\n\t" + "out 0x3f, r0" "\n\t" + ::); + asm ("reti" "\n\t"::); +} +#endif //ISR(SIG_OVERFLOW0) __attribute__((naked)); //ISR(SIG_OVERFLOW0) //{ |
From: jaguarondi <c2m...@c2...> - 2008-06-25 11:11:16
|
Author: jaguarondi Date: 2008-06-25 13:11:17 +0200 (Wed, 25 Jun 2008) New Revision: 1266 Modified: firmware/fuxusb/branches/new_rf/src/fifo_mic.c firmware/fuxusb/branches/new_rf/src/fifo_mic.h firmware/fuxusb/branches/new_rf/src/fifo_spk.c firmware/fuxusb/branches/new_rf/src/fifo_spk.h firmware/fuxusb/branches/new_rf/src/spi_task.c firmware/fuxusb/branches/new_rf/src/usb_ep.c firmware/fuxusb/branches/new_rf/src/usb_ep.h firmware/fuxusb/branches/new_rf/src/usb_task.c Log: * Had some trouble to add the microphone. Now it works but the audio output is disturbed when recording. Some optimizations have to be done in the USB. Modified: firmware/fuxusb/branches/new_rf/src/fifo_mic.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_mic.c 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/fifo_mic.c 2008-06-25 11:11:17 UTC (rev 1266) @@ -28,6 +28,7 @@ #include "config.h" #include "global.h" #include "fifo_mic.h" +#include "lib_mcu\usb\usb_drv.h" /** \name Fifo's constants * @{ */ @@ -89,6 +90,16 @@ Mic_buf[FifoIn_MIC_Idx++ & (MIC_BUF_SIZE-1)] = \ p[n-i]; } while (-- i); +/*void FIFO_MIC_put_n(uint8_t *p, uint8_t n)*/ +/*{ */ + /*uint8_t i=0;*/ + /*do*/ + /*{*/ + /*if ((FifoIn_MIC_Idx - FifoOut_MIC_Idx) == MIC_BUF_SIZE)*/ + /*return;*/ + + /*Mic_buf[FifoIn_MIC_Idx++ & (MIC_BUF_SIZE-1)] = p[i++];*/ + /*} while (--n);*/ } /** @@ -96,11 +107,18 @@ * \param Data : The data to push. * \ingroup fifo_mic */ -uint8_t FIFO_MIC_get (void) +void FIFO_MIC_get (void) { - /* Fifo empty */ - if (FifoOut_MIC_Idx == FifoIn_MIC_Idx) - return 0x80; - - return Mic_buf[FifoOut_MIC_Idx++ & (MIC_BUF_SIZE - 1)]; + uint8_t i = 8; + do { + if (FifoOut_MIC_Idx == FifoIn_MIC_Idx) + { + Usb_write_byte(0x80); + } + else + { + Usb_write_byte(Mic_buf[FifoOut_MIC_Idx++ & (MIC_BUF_SIZE - 1)]); + } + i--; + } while(i); } Modified: firmware/fuxusb/branches/new_rf/src/fifo_mic.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_mic.h 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/fifo_mic.h 2008-06-25 11:11:17 UTC (rev 1266) @@ -31,6 +31,6 @@ extern void FIFO_MIC_init (void); extern bit FIFO_MIC_ready(void); extern void FIFO_MIC_put_n(uint8_t *p, uint8_t const n); -extern uint8_t FIFO_MIC_get (void); +extern void FIFO_MIC_get (void); #endif /*_FIFO_MIC_H_*/ Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-25 11:11:17 UTC (rev 1266) @@ -94,11 +94,11 @@ * \return The popped byte. * \ingroup fifo_spk */ -uint8_t FIFO_SPK_get(void) +void FIFO_SPK_get_n(uint8_t *p, uint8_t n) { - /* Fifo empty */ - if (FifoOut_SPK_Idx == FifoIn_SPK_Idx) - return 0x80; - - return Spk_buf[FifoOut_SPK_Idx++ & (SPK_BUF_SIZE - 1)]; + uint8_t i; + for (i=0; i<n; i++) + { + p[i] = Spk_buf[FifoOut_SPK_Idx++ & (SPK_BUF_SIZE - 1)]; + } } Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_spk.h 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/fifo_spk.h 2008-06-25 11:11:17 UTC (rev 1266) @@ -32,6 +32,6 @@ extern void FIFO_SPK_init (void); extern uint8_t FIFO_SPK_length(void); extern void FIFO_SPK_put_n (uint8_t const n); -extern uint8_t FIFO_SPK_get (void); +extern void FIFO_SPK_get_n (uint8_t *, uint8_t); #endif /* _FIFO_SPK_H_*/ Modified: firmware/fuxusb/branches/new_rf/src/spi_task.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-25 11:11:17 UTC (rev 1266) @@ -76,8 +76,8 @@ * @{ */ /** Size of the audio data in the SPI frame */ // XXX Double frame -//#define AUDIO_SIZE 34 -#define AUDIO_SIZE 17 +#define AUDIO_SPK_SIZE 34 +#define AUDIO_MIC_SIZE 17 /* Bits of the config byte */ #define _BV(x) (1<<x) @@ -92,7 +92,6 @@ #define SPI_CONFIG_OFFSET 1 #define SPI_DATA_OFFSET 3 #define SPI_AUDIO_OFFSET (SPI_DATA_OFFSET + CMD_SIZE) -#define SPI_PREVAUDIO_OFFSET (SPI_AUDIO_OFFSET + AUDIO_SIZE) /*! @} */ static uint8_t spi_in[SPI_SIZE], spi_out[SPI_SIZE], spi_idx; @@ -241,30 +240,16 @@ spi_out[i+SPI_DATA_OFFSET] = command_received[i]; } } - if (FIFO_SPK_length() >= 34)//AUDIO_SIZE) + if (FIFO_SPK_length() >= AUDIO_SPK_SIZE) { config |= CFG_AUDIO_MK; - //for (i=0; i<AUDIO_SIZE; i++) - for (i=0; i<34; i++) - { - //static uint8_t cnt = 0; - //static bit dir = 1; - spi_out[i+SPI_AUDIO_OFFSET] = FIFO_SPK_get(); - //spi_out[i+SPI_AUDIO_OFFSET] = cnt; - //if (dir) - //cnt++; - //else - //cnt--; - //if ((cnt == 0xFF) || (cnt == 0)) - //dir = !dir; - } + FIFO_SPK_get_n(&spi_out[SPI_AUDIO_OFFSET], AUDIO_SPK_SIZE); } /* Store the frame index and the config byte. */ spi_out[SPI_IDX_OFFSET] = idx_out++; spi_out[SPI_CONFIG_OFFSET] = config; - spi_out[2] = 0x81; //XXX debug /* XXX debug */ /*for (i=0; i<SPI_SIZE; i++)*/ @@ -290,19 +275,9 @@ FIFO_STT_put(spi_in[i+SPI_DATA_OFFSET]); } } - if (config & CFG_PREVAUDIO_MK) - { - for (i=0; i<AUDIO_SIZE; i++) - { - FIFO_MIC_put_n(&spi_in[i+SPI_PREVAUDIO_OFFSET], AUDIO_SIZE); - } - } if (config & CFG_AUDIO_MK) { - for (i=0; i<AUDIO_SIZE; i++) - { - FIFO_MIC_put_n(&spi_in[i+SPI_AUDIO_OFFSET], AUDIO_SIZE); - } + FIFO_MIC_put_n(&spi_in[SPI_AUDIO_OFFSET], AUDIO_MIC_SIZE); } } } @@ -396,7 +371,7 @@ spi_slave = PUT_COMMAND; // Next state if (spi_slave_config & RF_AUDIO_HDR) { - SPDAT = FIFO_SPK_get(); // Get data from FIFO +// SPDAT = FIFO_SPK_get(); // Get data from FIFO } else SPDAT = 0x00; // No data to transmit Modified: firmware/fuxusb/branches/new_rf/src/usb_ep.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-25 11:11:17 UTC (rev 1266) @@ -53,7 +53,7 @@ static void clear_cmdout_ep(void); static void clear_cmdin_ep(void); -static bit fifo_mic_loaded = False; +bit fifo_mic_loaded = False; /** * \brief Parse all endpoints @@ -128,17 +128,18 @@ */ void fill_mic_ep(void) { - if(usb_configuration_nb && FIFO_MIC_ready() && !fifo_mic_loaded) + //if(usb_configuration_nb && FIFO_MIC_ready() && !fifo_mic_loaded) { - uint8_t i; +// uint8_t i; Usb_select_ep(EP_AUDIO_IN); - i = 8; - do { - Usb_write_byte(FIFO_MIC_get()); - i--; - } while(i); + FIFO_MIC_get(); + /*i = 8;*/ + /*do {*/ + /*Usb_write_byte(FIFO_MIC_get());*/ + /*i--;*/ + /*} while(i);*/ Usb_set_tx_ready(); fifo_mic_loaded = True; Modified: firmware/fuxusb/branches/new_rf/src/usb_ep.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_ep.h 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/usb_ep.h 2008-06-25 11:11:17 UTC (rev 1266) @@ -37,5 +37,6 @@ void endpoints_parser(void); void send_status(void); void fill_mic_ep(void); +extern bit fifo_mic_loaded; #endif // _USB_EP_H_ Modified: firmware/fuxusb/branches/new_rf/src/usb_task.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_task.c 2008-06-25 08:30:11 UTC (rev 1265) +++ firmware/fuxusb/branches/new_rf/src/usb_task.c 2008-06-25 11:11:17 UTC (rev 1266) @@ -33,6 +33,8 @@ #include "usb_commands.h" #include "usb_ep.h" #include "misc.h" +#include "fifo_mic.h" +#include "usb_ep.h" #include "lib_mcu\usb\usb_drv.h" /** @@ -98,7 +100,8 @@ * Load the microphone EP if it's not already loaded and if the micro * fifo is ready. */ - fill_mic_ep(); + if(usb_configuration_nb && FIFO_MIC_ready() && !fifo_mic_loaded) + fill_mic_ep(); /* * Prepare the statuses when a request has been received |
From: jaguarondi <c2m...@c2...> - 2008-06-25 08:30:02
|
Author: jaguarondi Date: 2008-06-25 10:30:11 +0200 (Wed, 25 Jun 2008) New Revision: 1265 Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.c firmware/fuxusb/branches/new_rf/src/fifo_stt.c firmware/fuxusb/branches/new_rf/src/spi_task.c firmware/fuxusb/branches/new_rf/src/usb_desc.c firmware/fuxusb/branches/new_rf/src/usb_ep.c Log: * Paul changed this to 16kHz audio output. This works now with tuxaudio. Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-25 08:28:54 UTC (rev 1264) +++ firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-25 08:30:11 UTC (rev 1265) @@ -32,7 +32,7 @@ /** \name Fifo's constants * @{ */ /** Buffer size */ -#define SPK_BUF_SIZE 64 +#define SPK_BUF_SIZE 128 /*! @} */ /** \name Variables Modified: firmware/fuxusb/branches/new_rf/src/fifo_stt.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_stt.c 2008-06-25 08:28:54 UTC (rev 1264) +++ firmware/fuxusb/branches/new_rf/src/fifo_stt.c 2008-06-25 08:30:11 UTC (rev 1265) @@ -41,7 +41,7 @@ * access time. * @{ */ /** Fifo buffer */ -uint8_t idata FifoTbl_STT[FIFOTBL_STT_MAX]; +uint8_t FifoTbl_STT[FIFOTBL_STT_MAX]; /** In index */ uint8_t data FifoIn_STT_Idx; /** Out index */ Modified: firmware/fuxusb/branches/new_rf/src/spi_task.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-25 08:28:54 UTC (rev 1264) +++ firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-25 08:30:11 UTC (rev 1265) @@ -75,6 +75,8 @@ /** \name SPI frame constants * @{ */ /** Size of the audio data in the SPI frame */ +// XXX Double frame +//#define AUDIO_SIZE 34 #define AUDIO_SIZE 17 /* Bits of the config byte */ @@ -239,10 +241,11 @@ spi_out[i+SPI_DATA_OFFSET] = command_received[i]; } } - if (FIFO_SPK_length() >= AUDIO_SIZE) + if (FIFO_SPK_length() >= 34)//AUDIO_SIZE) { config |= CFG_AUDIO_MK; - for (i=0; i<AUDIO_SIZE; i++) + //for (i=0; i<AUDIO_SIZE; i++) + for (i=0; i<34; i++) { //static uint8_t cnt = 0; //static bit dir = 1; Modified: firmware/fuxusb/branches/new_rf/src/usb_desc.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_desc.c 2008-06-25 08:28:54 UTC (rev 1264) +++ firmware/fuxusb/branches/new_rf/src/usb_desc.c 2008-06-25 08:30:11 UTC (rev 1265) @@ -356,7 +356,7 @@ 0x01, // bSubFrameSize 1 Bytes per Audio Subframe 0x08, // BitResolution 8 bits per Sample 0x01, // SampleFreqType One Frequency supported - 0x40,0x1F,0x00 // SamFreq 8000Hz + 0x80,0x3E,0x00 // SamFreq 16000Hz }, // SpkStandardEndpointDescriptor[] = @@ -366,7 +366,7 @@ 0x05, // descriptor type (ENDPOINT) OUT_ENDPOINT2, // endpoint address (OUT endpoint, endpoint 2) 0x01, // endpoint attributes (Isochronous) - 0x0800, // maximum packet size (8 bytes) + 0x1000, // maximum packet size (16 bytes) 0x01, // polling interval (1ms) 0x00, // brefresh 0x00 // Unused Modified: firmware/fuxusb/branches/new_rf/src/usb_ep.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-25 08:28:54 UTC (rev 1264) +++ firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-25 08:30:11 UTC (rev 1265) @@ -191,7 +191,7 @@ { if(usb_get_nb_byte()) { - FIFO_SPK_put_n(8); + FIFO_SPK_put_n(16); } } Usb_clear_rx(); |
From: jaguarondi <c2m...@c2...> - 2008-06-25 08:28:45
|
Author: jaguarondi Date: 2008-06-25 10:28:54 +0200 (Wed, 25 Jun 2008) New Revision: 1264 Modified: firmware/rf/trunk/Makefile firmware/rf/trunk/version.h Log: * Fixed the Makefile when producing tuxrf.* and fuxrf.*. Modified: firmware/rf/trunk/Makefile =================================================================== --- firmware/rf/trunk/Makefile 2008-06-25 08:27:53 UTC (rev 1263) +++ firmware/rf/trunk/Makefile 2008-06-25 08:28:54 UTC (rev 1264) @@ -4,7 +4,6 @@ ## General Flags MCU = atmega48 -TARGET = fuxrf.elf CC = avr-gcc AVRDUDE = avrdude @@ -19,11 +18,12 @@ PROJECT = fuxrf CFLAGS += -D_MASTER else + PROJECT = tuxrf ifneq (,$(findstring slave, $(TYPE))) - PROJECT = tuxrf CFLAGS += -D_SLAVE endif endif +TARGET = $(PROJECT).elf ## Assembly specific flags @@ -48,7 +48,7 @@ LINKONLYOBJECTS = ## Build -all: svnrev.h $(TARGET) fuxrf.hex fuxrf.eep fuxrf.lss size +all: svnrev.h $(TARGET) $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss size ## Compile device.o: device.c @@ -115,7 +115,7 @@ $(AVRDUDE) -p $(MCU) -c jtag2isp -P usb -B 10 -U hfuse:w:0xD5:m debug: - avarice -P $(MCU) -B 1000 -2 -w -j usb -p -f $(PROJECT).elf :4242 + avarice -P $(MCU) -B 1000 -2 -w -j usb -p -f $(TARGET) :4242 progisp: $(PROJECT).hex $(PROJECT).eep $(AVRDUDE) -p $(MCU) -c jtag2isp -P usb -B 10 -e \ Modified: firmware/rf/trunk/version.h =================================================================== --- firmware/rf/trunk/version.h 2008-06-25 08:27:53 UTC (rev 1263) +++ firmware/rf/trunk/version.h 2008-06-25 08:28:54 UTC (rev 1264) @@ -1,30 +1,30 @@ -/* KySoH iTux agent - * - * Behavioural source code - * created on 2005/10/20 David Bourgeois - * -------------------------------------------------------- - * - */ - -#ifndef _VERSION_H_ -#define _VERSION_H_ - -/* - * Version number - */ - -#define VER_MAJOR 0 -#define VER_MINOR 2 -#define VER_UPDATE 0 - -/** RELEASE should be set to '1' prior to tagging a release, and reset - * immediately after. It's like appending (SVN_UNRELEASED) to a version number - * when equal to '0'. */ -#define RELEASE 0 - -#define AUTHOR_ID 0 /* official release */ -#define VARIATION 0 /* generic firmware */ - -#define RELEASE_TYPE (SVN_STATUS | (RELEASE << 2)) - -#endif /* VERSION_H */ +/* KySoH iTux agent + * + * Behavioural source code + * created on 2005/10/20 David Bourgeois + * -------------------------------------------------------- + * + */ + +#ifndef _VERSION_H_ +#define _VERSION_H_ + +/* + * Version number + */ + +#define VER_MAJOR 0 +#define VER_MINOR 6 +#define VER_UPDATE 0 + +/** RELEASE should be set to '1' prior to tagging a release, and reset + * immediately after. It's like appending (SVN_UNRELEASED) to a version number + * when equal to '0'. */ +#define RELEASE 0 + +#define AUTHOR_ID 0 /* official release */ +#define VARIATION 0 /* generic firmware */ + +#define RELEASE_TYPE (SVN_STATUS | (RELEASE << 2)) + +#endif /* VERSION_H */ |
From: jaguarondi <c2m...@c2...> - 2008-06-25 08:27:53
|
Author: jaguarondi Date: 2008-06-25 10:27:53 +0200 (Wed, 25 Jun 2008) New Revision: 1263 Modified: firmware/tuxaudio/branches/new_rf/communication.c firmware/tuxaudio/branches/new_rf/main.c Log: * This version works with 16kHz audio. Mic has been disabled for now. Modified: firmware/tuxaudio/branches/new_rf/communication.c =================================================================== --- firmware/tuxaudio/branches/new_rf/communication.c 2008-06-24 14:57:55 UTC (rev 1262) +++ firmware/tuxaudio/branches/new_rf/communication.c 2008-06-25 08:27:53 UTC (rev 1263) @@ -333,10 +333,10 @@ /* Limits to avoid oscillations when a lot of frames are * dropped and to prevent jumping over 255. */ - if (OCR0A > 252) - OCR0A = 252; - if (OCR0A < 246) - OCR0A = 246; + if (OCR0A > 254) + OCR0A = 254; + if (OCR0A < 240) + OCR0A = 240; } } @@ -396,19 +396,13 @@ if (!parse_cmd(cmd)) queue_core_cmd(cmd); } - if (config & CFG_PREVAUDIO_MK) - { - for (i=0; i<AUDIO_SIZE; i++) - { - FifoPut(PWMFifo, spi_in[i+SPI_PREVAUDIO_OFFSET]); - } - } if (config & CFG_AUDIO_MK) { adapt_audio_rate(); //static uint8_t cnt = 0; - for (i=0; i<AUDIO_SIZE; i++) + //for (i=0; i<AUDIO_SIZE; i++) + for (i=0; i<34; i++) { //if ((spi_in[i+SPI_AUDIO_OFFSET] == (cnt+1)) || //(spi_in[i+SPI_AUDIO_OFFSET] == (cnt-1))) Modified: firmware/tuxaudio/branches/new_rf/main.c =================================================================== --- firmware/tuxaudio/branches/new_rf/main.c 2008-06-24 14:57:55 UTC (rev 1262) +++ firmware/tuxaudio/branches/new_rf/main.c 2008-06-25 08:27:53 UTC (rev 1263) @@ -250,6 +250,7 @@ else DDRD &= ~0x03; } + /* XXX debug of the audio stack */ queue_rf_cmd_p(0xFE, FifoLength(PWMFifo), OCR0A, 0); } @@ -359,17 +360,12 @@ */ ISR(SIG_OVERFLOW0) { - uint8_t tmp = sampling_pwm; - /* timer 0 is clocked at 32KHz so we divide it by 4 to get 8KHz */ - tmp--; - tmp &= 3; - if (tmp == 0) + if (++sampling_pwm & 0x01) { asm("rcall __vector_audio_sampling"::); cli(); } - sampling_pwm = tmp; } //ISR(SIG_OVERFLOW0) __attribute__((naked)); |
From: remi <c2m...@c2...> - 2008-06-24 14:57:49
|
Author: remi Date: 2008-06-24 16:57:55 +0200 (Tue, 24 Jun 2008) New Revision: 1262 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h Log: * updated a threshold in the usb module. Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h 2008-06-24 13:04:28 UTC (rev 1261) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h 2008-06-24 14:57:55 UTC (rev 1262) @@ -36,7 +36,7 @@ #define TUX_WRITE_TIMEOUT 1000 #define TUX_READ_TIMEOUT 1000 #define TUX_READ_LOOP_INTERVAL 0.1 -#define TUX_USB_ERROR_LIMIT 5 +#define TUX_USB_ERROR_LIMIT 10 #define MIN_FIRMWARE_VERSION 0x030 #ifdef WIN32 |
From: jaguarondi <c2m...@c2...> - 2008-06-24 13:04:24
|
Author: jaguarondi Date: 2008-06-24 15:04:28 +0200 (Tue, 24 Jun 2008) New Revision: 1261 Added: firmware/rf/trunk/rf.ld firmware/rf/trunk/svnrev.tmpl.h Modified: firmware/rf/trunk/Makefile firmware/rf/trunk/bootloader.h firmware/rf/trunk/device.c firmware/rf/trunk/version.h Log: * Added versioning and bootloader. The bootloader is disabled for now as it runs over the available space. Modified: firmware/rf/trunk/Makefile =================================================================== --- firmware/rf/trunk/Makefile 2008-06-24 12:16:28 UTC (rev 1260) +++ firmware/rf/trunk/Makefile 2008-06-24 13:04:28 UTC (rev 1261) @@ -32,6 +32,7 @@ ## Linker flags LDFLAGS = $(COMMON) +LDFLAGS += -Wl,--section-start=.bootloader=0x0F00 -Wl,--section-start=.version=0x0EF0 rf.ld ## Intel Hex file production flags HEX_FLASH_FLAGS = -R .eeprom @@ -41,13 +42,13 @@ HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 ## Objects that must be built in order to link -OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o #bootloader.o +OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o #bootloader.o ## Objects explicitly added by the user LINKONLYOBJECTS = ## Build -all: $(TARGET) fuxrf.hex fuxrf.eep fuxrf.lss size +all: svnrev.h $(TARGET) fuxrf.hex fuxrf.eep fuxrf.lss size ## Compile device.o: device.c @@ -74,6 +75,9 @@ bootloader.o: bootloader.c $(CC) $(INCLUDES) $(CFLAGS) -c $< +svnrev.h: $(CSOURCE) $(HEADERS) + svnwcrev . svnrev.tmpl.h svnrev.h + ##Link $(TARGET): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET) @@ -94,7 +98,7 @@ ## Clean target .PHONY: clean clean: - -rm -rf $(OBJECTS) device.elf dep/* device.hex device.eep device.lss device.map + -rm -rf $(OBJECTS) device.elf dep/* fuxrf.* tuxrf.* svnrev.h ## Other dependencies Modified: firmware/rf/trunk/bootloader.h =================================================================== --- firmware/rf/trunk/bootloader.h 2008-06-24 12:16:28 UTC (rev 1260) +++ firmware/rf/trunk/bootloader.h 2008-06-24 13:04:28 UTC (rev 1261) @@ -1,11 +1,20 @@ - -/* KySoH's iTux agent - Copyright (c) 2006, C2ME S.A. - All rights reserved. - * Bootloader source code - * created on 2006/11/25 David Bourgeois - * ------------------------------------------------------------------- - * $Id: bootloader.h 456 2007-06-26 14:12:36Z jaguarondi +/* + * RF - Firmware for the 'RF' CPU of tuxdroid + * Copyright (C) 2007 KySoH S.A. <tux...@c2...> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _BOOTLOADER_H_ Modified: firmware/rf/trunk/device.c =================================================================== --- firmware/rf/trunk/device.c 2008-06-24 12:16:28 UTC (rev 1260) +++ firmware/rf/trunk/device.c 2008-06-24 13:04:28 UTC (rev 1261) @@ -50,8 +50,35 @@ #include "prot.h" #include "rf_ctrl.h" -#define DBG_STACK 1 +/* + * Version number + */ +#include "version.h" +#include "svnrev.h" +#include "common/api.h" +#include "common/defines.h" +#ifdef _SLAVE +#define CPU_NUMBER TUXRF_CPU_NUM /* TUXRF CPU */ +#else +#define CPU_NUMBER FUXRF_CPU_NUM /* FUXRF CPU */ +#endif +const author_t author __attribute__ ((section("version.3"))) = +{AUTHOR_CMD, AUTHOR_ID, VARIATION}; +const revision_t svn_revision __attribute__ ((section("version.2"))) = +{REVISION_CMD, SVN_REV, RELEASE_TYPE}; +const version_t tag_version __attribute__ ((section("version.1"))) = +{VERSION_CMD, CPU_VER_JOIN(CPU_NUMBER, VER_MAJOR), VER_MINOR, VER_UPDATE}; + +/* Bootloader can be included with the program */ +#define BOOTLOADER 0 +/* Set to 1 to enable stack debugging. */ +#define DBG_STACK 0 + +#if (BOOTLOADER) +#include "bootloader.h" +#endif + #if (DBG_STACK) extern uint16_t __heap_start; void init_ram(void) __attribute__ ((naked)) @@ -89,6 +116,13 @@ //***************************************************************************** int main(void) { +#if (BOOTLOADER) + volatile uint16_t _count=0; + for (;_count<0xFFFF; _count++); + if (!(PIND & 0x40)) /* if head is pushed at startup */ + asm volatile ("rjmp bootloader" ::); /* jump to bootloader */ +#endif + /* System init */ init_avr(); init_varis(); Added: firmware/rf/trunk/rf.ld =================================================================== --- firmware/rf/trunk/rf.ld (rev 0) +++ firmware/rf/trunk/rf.ld 2008-06-24 13:04:28 UTC (rev 1261) @@ -0,0 +1,10 @@ +SECTIONS { + __start_.version = .; + .version : + { + *(version.1) + *(version.2) + *(version.3) + } + __stop_.version = .; +} Added: firmware/rf/trunk/svnrev.tmpl.h =================================================================== --- firmware/rf/trunk/svnrev.tmpl.h (rev 0) +++ firmware/rf/trunk/svnrev.tmpl.h 2008-06-24 13:04:28 UTC (rev 1261) @@ -0,0 +1,38 @@ +/* + * TUXCORE - Firmware for the 'core' CPU of tuxdroid + * Copyright (C) 2007 C2ME S.A. <tux...@c2...> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* $Id$ */ + +/* This file is a template to generate svnrev.h automatically. + * SubWCRev performs keyword susbstitution whith SVN information. + */ + +#ifndef _SVNREV_H_ +#define _SVNREV_H_ + +#define SVN_REV $WCREV$ +#define SVN_REVSTR "$WCREV$" +#define SVN_REVDATE "$WCDATE$" +#define SVN_MOD $WCMODS?1:0$ +#define SVN_MIX $WCMIXED?1:0$ +#define SVN_STATUS (SVN_MOD + (SVN_MIX<<1)) +#define SVN_RANGE "$WCRANGE$" +#define SVN_URL "$WCURL$" + +#endif /* _SVNREV_H_ */ Property changes on: firmware/rf/trunk/svnrev.tmpl.h ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Id Name: svn:eol-style + native Modified: firmware/rf/trunk/version.h =================================================================== --- firmware/rf/trunk/version.h 2008-06-24 12:16:28 UTC (rev 1260) +++ firmware/rf/trunk/version.h 2008-06-24 13:04:28 UTC (rev 1261) @@ -17,8 +17,14 @@ #define VER_MINOR 2 #define VER_UPDATE 0 +/** RELEASE should be set to '1' prior to tagging a release, and reset + * immediately after. It's like appending (SVN_UNRELEASED) to a version number + * when equal to '0'. */ +#define RELEASE 0 + #define AUTHOR_ID 0 /* official release */ -#define SVN_REV 0xFFEE /* XXX find a way to define this automatically in the Makefile from SVN */ -#define SVN_STATUS 0 /* XXX also fix this in the Makefile */ +#define VARIATION 0 /* generic firmware */ -#endif /* _VERSION_H_ */ +#define RELEASE_TYPE (SVN_STATUS | (RELEASE << 2)) + +#endif /* VERSION_H */ |
From: jaguarondi <c2m...@c2...> - 2008-06-24 12:16:19
|
Author: jaguarondi Date: 2008-06-24 14:16:28 +0200 (Tue, 24 Jun 2008) New Revision: 1260 Modified: firmware/tuxaudio/branches/new_rf/communication.c firmware/tuxaudio/branches/new_rf/i2c.c firmware/tuxaudio/branches/new_rf/i2c.h Log: * Changed the I2C service routine to speed-it up. Parsing is now done outside the interrupt. Modified: firmware/tuxaudio/branches/new_rf/communication.c =================================================================== --- firmware/tuxaudio/branches/new_rf/communication.c 2008-06-24 12:07:58 UTC (rev 1259) +++ firmware/tuxaudio/branches/new_rf/communication.c 2008-06-24 12:16:28 UTC (rev 1260) @@ -36,6 +36,8 @@ /* I2C read message (in) */ static uint8_t in_buf[CMD_SIZE]; static struct i2c_msg msg_in = {0, 0, in_buf}; +/* I2C last received command */ +static uint8_t *received_cmd = 0; /** Size of the stack buffer to tuxcore */ #define CORE_OUT_BUF_SIZE 16 @@ -182,28 +184,21 @@ * \param msg I2C message received * \return 0 if a stop should be sent, 1 for a restart. */ -bool i2c_master_receive_service(struct i2c_msg *msg) +void i2c_master_receive_service(struct i2c_msg *msg) { if (msg->len != CMD_SIZE) /* Error here. */ - return 0; + return; if (*(msg->buf) == 0) { /* Got nothing so stop reading. */ - return 0; + return; } if (msg->addr == TUXCORE_ADDR) /* From tuxcore */ { - /* Parse the command and forward if it isn't dropped. */ - if (!parse_cmd(msg->buf)) - queue_rf_cmd(msg->buf); - /* As we got something, there's maybe more so if the stack is not full, - * continue */ - if (FifoLength(rf_cmdout_buf) <= RF_BUF_SIZE - CMD_SIZE) - return 1; + received_cmd = msg->buf; } - return 0; } /* @@ -448,9 +443,17 @@ return; } + /* Parse the received command and forward if it isn't dropped. */ + if (received_cmd) + { + if (!parse_cmd(received_cmd)) + queue_rf_cmd(received_cmd); + received_cmd = 0; + } + /* Send otherwise get commands. */ - //if (!send_core_cmds()) - //{ - //get_core_cmd(); - //} + if (!send_core_cmds()) + { + get_core_cmd(); + } } Modified: firmware/tuxaudio/branches/new_rf/i2c.c =================================================================== --- firmware/tuxaudio/branches/new_rf/i2c.c 2008-06-24 12:07:58 UTC (rev 1259) +++ firmware/tuxaudio/branches/new_rf/i2c.c 2008-06-24 12:16:28 UTC (rev 1260) @@ -84,7 +84,7 @@ /* function pointer to i2c receive routine */ /* I2cSlaveReceive is called when this processor is addressed as a slave for * writing */ -static bool (*i2c_master_receive) (struct i2c_msg *msg); +static void (*i2c_master_receive) (struct i2c_msg *msg); /* I2cSlaveTransmit is called when this processor is addressed as a slave for * reading */ static uint8_t(*i2cSlaveTransmit) (uint8_t transmitDataLengthMax, @@ -99,7 +99,7 @@ //i2c_resume(); /* Set the user function which handles receiving (incoming) data as a slave */ -void i2c_master_receive_handler(bool (*i2cMasterRx_func) (struct i2c_msg *msg)) +void i2c_master_receive_handler(void (*i2cMasterRx_func) (struct i2c_msg *msg)) { i2c_master_receive = i2cMasterRx_func; } @@ -362,14 +362,8 @@ m_msg->state = i2c_state; if (i2c_master_receive) { - if (i2c_master_receive(m_msg)) - { - buf_idx = 0; - i2c_state = I2C_BUSY; - twi_send_start(); /* restart a read */ - } - else - twi_send_stop(); /* end of data stream */ + i2c_master_receive(m_msg); + twi_send_stop(); /* end of data stream */ } break; case TW_MT_SLA_NACK: /* 0x20 */ Modified: firmware/tuxaudio/branches/new_rf/i2c.h =================================================================== --- firmware/tuxaudio/branches/new_rf/i2c.h 2008-06-24 12:07:58 UTC (rev 1259) +++ firmware/tuxaudio/branches/new_rf/i2c.h 2008-06-24 12:16:28 UTC (rev 1260) @@ -80,7 +80,7 @@ /* Functions */ void i2cInit(void); -void i2c_master_receive_handler(bool (*i2cMasterRx_func) (struct i2c_msg *msg)); +void i2c_master_receive_handler(void (*i2cMasterRx_func) (struct i2c_msg *msg)); void i2cSetSlaveTransmitHandler(uint8_t(*i2cSlaveTx_func) (uint8_t transmitDataLengthMax, |
From: remi <c2m...@c2...> - 2008-06-24 12:07:50
|
Author: remi Date: 2008-06-24 14:07:58 +0200 (Tue, 24 Jun 2008) New Revision: 1259 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h Log: * added a sleep of 10msec between the write and the read of the statuses request function, for the unix version. The hid is not blocking on unix. Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-24 10:41:14 UTC (rev 1258) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.c 2008-06-24 12:07:58 UTC (rev 1259) @@ -406,6 +406,11 @@ log_error("Fux is disconnected"); return TuxUSBDisconnected; } + +#ifndef WIN32 + /* Hid read write are not bocking on linux */ + usleep(10000); +#endif ret = tux_hid_read(TUX_RECEIVE_LENGTH, (char *)buf); #ifdef USE_MUTEX Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h 2008-06-24 10:41:14 UTC (rev 1258) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_usb.h 2008-06-24 12:07:58 UTC (rev 1259) @@ -36,7 +36,7 @@ #define TUX_WRITE_TIMEOUT 1000 #define TUX_READ_TIMEOUT 1000 #define TUX_READ_LOOP_INTERVAL 0.1 -#define TUX_USB_ERROR_LIMIT 3 +#define TUX_USB_ERROR_LIMIT 5 #define MIN_FIRMWARE_VERSION 0x030 #ifdef WIN32 |
From: jaguarondi <c2m...@c2...> - 2008-06-24 10:41:07
|
Author: jaguarondi Date: 2008-06-24 12:41:14 +0200 (Tue, 24 Jun 2008) New Revision: 1258 Modified: firmware/fuxusb/branches/new_rf/fuxusb.Opt firmware/fuxusb/branches/new_rf/src/fifo_mic.c firmware/fuxusb/branches/new_rf/src/fifo_mic.h firmware/fuxusb/branches/new_rf/src/fifo_spk.c firmware/fuxusb/branches/new_rf/src/fifo_spk.h firmware/fuxusb/branches/new_rf/src/main.c firmware/fuxusb/branches/new_rf/src/rf.c firmware/fuxusb/branches/new_rf/src/spi_task.c firmware/fuxusb/branches/new_rf/src/spi_task.h firmware/fuxusb/branches/new_rf/src/usb_commands.c firmware/fuxusb/branches/new_rf/src/usb_desc.h firmware/fuxusb/branches/new_rf/src/usb_ep.c firmware/fuxusb/branches/new_rf/src/version.h Log: * First functional version. Modified: firmware/fuxusb/branches/new_rf/fuxusb.Opt =================================================================== (Binary files differ) Modified: firmware/fuxusb/branches/new_rf/src/fifo_mic.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_mic.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/fifo_mic.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -76,9 +76,9 @@ * be previously selected. * \ingroup fifo_mic */ -void FIFO_MIC_put_n(uint8_t const n) +void FIFO_MIC_put_n(uint8_t *p, uint8_t const n) { - uint8_t data i; + uint8_t i; i = n; do @@ -87,7 +87,7 @@ return; Mic_buf[FifoIn_MIC_Idx++ & (MIC_BUF_SIZE-1)] = \ - received_rf_data[n-i]; + p[n-i]; } while (-- i); } Modified: firmware/fuxusb/branches/new_rf/src/fifo_mic.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_mic.h 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/fifo_mic.h 2008-06-24 10:41:14 UTC (rev 1258) @@ -30,7 +30,7 @@ extern void FIFO_MIC_init (void); extern bit FIFO_MIC_ready(void); -extern void FIFO_MIC_put_n (uint8_t const n); +extern void FIFO_MIC_put_n(uint8_t *p, uint8_t const n); extern uint8_t FIFO_MIC_get (void); #endif /*_FIFO_MIC_H_*/ Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/fifo_spk.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -33,8 +33,6 @@ * @{ */ /** Buffer size */ #define SPK_BUF_SIZE 64 -/** Ready threshold. This value allow to empty the fifo */ -#define FIFO_SPK_READY 32 /*! @} */ /** \name Variables @@ -63,10 +61,11 @@ /** * \brief Check if the fifo is ready to be empty. */ -bit FIFO_SPK_ready(void) +uint8_t FIFO_SPK_length(void) { - return ((FifoIn_SPK_Idx - FifoOut_SPK_Idx) > FIFO_SPK_READY); + return (FifoIn_SPK_Idx - FifoOut_SPK_Idx); } + /** * \brief Push N bytes in the Speaker FIFO. * \param n The number of byte to push. Modified: firmware/fuxusb/branches/new_rf/src/fifo_spk.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/fifo_spk.h 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/fifo_spk.h 2008-06-24 10:41:14 UTC (rev 1258) @@ -29,9 +29,8 @@ #ifndef _FIFO_SPK_H_ #define _FIFO_SPK_H_ - extern void FIFO_SPK_init (void); -extern bit FIFO_SPK_ready(void); +extern uint8_t FIFO_SPK_length(void); extern void FIFO_SPK_put_n (uint8_t const n); extern uint8_t FIFO_SPK_get (void); Modified: firmware/fuxusb/branches/new_rf/src/main.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/main.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/main.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -60,7 +60,7 @@ i2c_task(); } /* Bootloader inactive : if RF is online, process spi_task. */ - else if (is_rf_online()) + else { spi_task(); } Modified: firmware/fuxusb/branches/new_rf/src/rf.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/rf.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/rf.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -83,7 +83,6 @@ { reset_rf(); } - new_cmd_enabled = True; rf_is_running = False; return False; } Modified: firmware/fuxusb/branches/new_rf/src/spi_task.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -57,11 +57,6 @@ /** Indicate the RF state. */ uint8_t RF_Status; -/** This flag is set when a new command can be received from the USB. - * When a command for tux is received, this flag = False. When the commands has - * been sent to the RF, this flag is set. - */ -bit new_cmd_enabled; /** This flag is set when a command for tux is received. It indicate the * RF that a command must be included in the frame. */ @@ -77,7 +72,30 @@ static bit spi_ready = 0; static bit spi_Start_Flag = 0; +/** \name SPI frame constants + * @{ */ +/** Size of the audio data in the SPI frame */ +#define AUDIO_SIZE 17 +/* Bits of the config byte */ +#define _BV(x) (1<<x) +#define CFG_CRCOK_MK _BV(0) +#define CFG_DATA_MK _BV(1) +#define CFG_AUDIO_MK _BV(2) +#define CFG_PREVAUDIO_MK _BV(3) + +/* SPI frame organization */ +#define SPI_SIZE 50 +#define SPI_IDX_OFFSET 0 +#define SPI_CONFIG_OFFSET 1 +#define SPI_DATA_OFFSET 3 +#define SPI_AUDIO_OFFSET (SPI_DATA_OFFSET + CMD_SIZE) +#define SPI_PREVAUDIO_OFFSET (SPI_AUDIO_OFFSET + AUDIO_SIZE) +/*! @} */ + +static uint8_t spi_in[SPI_SIZE], spi_out[SPI_SIZE], spi_idx; +static uint8_t idx_in, idx_out; + /** * \brief Reset the SPI task to the defaults states. * This function reset all SPI variables. @@ -91,7 +109,6 @@ SPI_CSn = 1; // Chip select spi_Start_Flag = 0; spi_ready = 0; - new_cmd_enabled = True; } /** @@ -132,8 +149,6 @@ spi_slave = 0; // Reset State Machine of spi_task() spi_master = 0; // Reset State Machine of spi_task() - - new_cmd_enabled = True; } /** @@ -144,7 +159,33 @@ */ void it_INT0(void) interrupt IRQ_INT0 { - spi_ready = 1; + P3_7 = 1; /* XXX debug */ + if (SPI_CSn) + { + /* No start yet. */ + P3_7 = 0; /* XXX debug */ + return; + } + /* Check that the previous SPI transmission is done. */ + /* XXX we can delete that later */ + if ((SPSTA & 0x80) == 0) + { + P3_7 = 0; /* XXX debug */ + return; + } + + spi_in[spi_idx++] = SPDAT; + + if (spi_idx == SPI_SIZE) + { + /* Last byte done, unselect. */ + SPI_CSn = 1; + } + else + { + SPDAT = spi_out[spi_idx]; + } + P3_7 = 0; /* XXX debug */ } /** @@ -154,6 +195,119 @@ */ void spi_task(void) { + uint8_t config; + uint8_t i; + static bit prev_spi_start = False; + + P3_6 = 1; /* XXX debug */ + /* Resset SPI state when the RF is done */ + if (!SPI_START) + { + prev_spi_start = False; + } + /* Check for rising edge on SPI_START */ + else if (!prev_spi_start) /* && SPI_START */ + { + prev_spi_start = True; + + /* Chip select */ + SPI_CSn = 0; + /* Send the first data */ + spi_idx = 0; + SPDAT = spi_out[spi_idx]; + P3_6 = 0; /* XXX debug */ + return; + } + + if (SPI_CSn == 0) + { + /* We're busy already */ + P3_6 = 0; /* XXX debug */ + return; + } + else if (spi_idx >= SPI_SIZE) + { + spi_idx = 0; + /* Prepare next SPI frame to be sent to the RF */ + config = 0; + if (new_command_received) + { + new_command_received = False; + config |= CFG_DATA_MK; + for (i=0; i<CMD_SIZE; i++) + { + spi_out[i+SPI_DATA_OFFSET] = command_received[i]; + } + } + if (FIFO_SPK_length() >= AUDIO_SIZE) + { + config |= CFG_AUDIO_MK; + for (i=0; i<AUDIO_SIZE; i++) + { + //static uint8_t cnt = 0; + //static bit dir = 1; + spi_out[i+SPI_AUDIO_OFFSET] = FIFO_SPK_get(); + //spi_out[i+SPI_AUDIO_OFFSET] = cnt; + //if (dir) + //cnt++; + //else + //cnt--; + //if ((cnt == 0xFF) || (cnt == 0)) + //dir = !dir; + } + } + + + /* Store the frame index and the config byte. */ + spi_out[SPI_IDX_OFFSET] = idx_out++; + spi_out[SPI_CONFIG_OFFSET] = config; + spi_out[2] = 0x81; //XXX debug + + /* XXX debug */ + /*for (i=0; i<SPI_SIZE; i++)*/ + /*spi_out[i] = 0x00;//1<<(i&7);*/ + /*for (i=23; i<45; i++)*/ + /*spi_out[i] = 0x00;//1<<(i&7);*/ + /*for (i=45; i<SPI_SIZE; i+=1)*/ + /*spi_out[i] = 0x01;*/ + /*for (i=40; i<50; i++)*/ + /*spi_out[i] = 0x55;*/ + + /* Store and increment the index of the frame. */ + + /* Process last SPI frame received from the RF */ + if (idx_in != spi_in[SPI_IDX_OFFSET]) + { + idx_in = spi_in[SPI_IDX_OFFSET]; + config = spi_in[SPI_CONFIG_OFFSET]; + if (config & CFG_DATA_MK) + { + for (i=0; i<CMD_SIZE; i++) + { + FIFO_STT_put(spi_in[i+SPI_DATA_OFFSET]); + } + } + if (config & CFG_PREVAUDIO_MK) + { + for (i=0; i<AUDIO_SIZE; i++) + { + FIFO_MIC_put_n(&spi_in[i+SPI_PREVAUDIO_OFFSET], AUDIO_SIZE); + } + } + if (config & CFG_AUDIO_MK) + { + for (i=0; i<AUDIO_SIZE; i++) + { + FIFO_MIC_put_n(&spi_in[i+SPI_AUDIO_OFFSET], AUDIO_SIZE); + } + } + } + } + P3_6 = 0; /* XXX debug */ +} + +void tmp(void) +{ uint8_t Spi_Overflow_Ctr; uint8_t i; uint8_t received_status[4]; @@ -200,7 +354,7 @@ //-------------------------------------------------------------------------- if (spi_slave == HEADERS) { - if (FIFO_SPK_ready()) + if (1)//FIFO_SPK_ready()) { if (new_command_received) // { @@ -321,8 +475,6 @@ } if (spi_count == spi_lenght_data + 6) { - new_cmd_enabled = True; - spi_Start_Flag = 0; SPI_CSn = 1; // Chip deselect spi_enable = 1; @@ -334,7 +486,7 @@ if (spi_master_config & (RF_2FRAMES_HDR | \ RF_AUDIO_HDR)) { - FIFO_MIC_put_n(spi_lenght_data); + //FIFO_MIC_put_n(spi_lenght_data); } // // Store STATUS in the FIFO Modified: firmware/fuxusb/branches/new_rf/src/spi_task.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/spi_task.h 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/spi_task.h 2008-06-24 10:41:14 UTC (rev 1258) @@ -27,12 +27,11 @@ #ifndef _SPITASK_H_ #define _SPITASK_H_ -#define SPI_START P3_4 -#define SPI_DREADY P3_2 +#define SPI_START P3_4 +#define SPI_DREADY P3_2 /* Variables */ extern uint8_t RF_Status; -extern bit new_cmd_enabled; extern bit new_command_received; /* Functions */ Modified: firmware/fuxusb/branches/new_rf/src/usb_commands.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -74,11 +74,7 @@ /* Commands for Tux */ case TUX_CMD_HDR: - new_cmd_enabled = False; new_command_received = True; - /* Transfert commands from command_received buffer to rf_commands. */ - for(i=0;i < 4;i++) - rf_commands[i] = command_received[i]; break; /* Bootloader commands */ @@ -106,7 +102,7 @@ Usb_write_byte(0); Usb_write_byte(RF_OFFLINE ? 0 : 1); Usb_write_byte(RF_Status); - Usb_write_byte(FifoIn_STT_Idx ? (FifoIn_STT_Idx / 4) : 0); + Usb_write_byte(FifoIn_STT_Idx ? (FifoIn_STT_Idx / CMD_SIZE) : 0); /* Write statuses */ for(i=0;i<FifoIn_STT_Idx;i++) Modified: firmware/fuxusb/branches/new_rf/src/usb_desc.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_desc.h 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/usb_desc.h 2008-06-24 10:41:14 UTC (rev 1258) @@ -30,7 +30,7 @@ #include "version.h" /** Enable / Disable the HID interface */ -#define HID_DEVICE +//#define HID_DEVICE /** \name Descriptors type * @{ */ Modified: firmware/fuxusb/branches/new_rf/src/usb_ep.c =================================================================== --- firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/usb_ep.c 2008-06-24 10:41:14 UTC (rev 1258) @@ -98,11 +98,8 @@ /* EP5 : Command out EP (PC -> dongle) */ if(Usb_test_it_ep(EP_CMD_OUT)) { - if (new_cmd_enabled) - { - commands_parser(); - clear_cmdout_ep(); - } + commands_parser(); + clear_cmdout_ep(); } } Modified: firmware/fuxusb/branches/new_rf/src/version.h =================================================================== --- firmware/fuxusb/branches/new_rf/src/version.h 2008-06-24 10:37:20 UTC (rev 1257) +++ firmware/fuxusb/branches/new_rf/src/version.h 2008-06-24 10:41:14 UTC (rev 1258) @@ -19,7 +19,7 @@ * KySoH iTux agent created on 2005/10/20 by David Bourgeois */ -/* $Id:$ */ +/* $Id$ */ #ifndef _VERSION_H_ #define _VERSION_H_ |