1
0
mirror of https://github.com/halleysfifthinc/Toyota-AVC-LAN synced 2025-06-07 16:06:12 +00:00

Compile/linking required changes

This commit is contained in:
Allen Hill 2015-07-23 21:23:36 -07:00
parent bf2a4a496b
commit 49c0827c4f
13 changed files with 179 additions and 422 deletions

Binary file not shown.

37
GlobalDef.c Normal file
View File

@ -0,0 +1,37 @@
/*
Copyright (C) 2006 Marcin Slonicki <marcin@softservice.com.pl>.
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.
-----------------------------------------------------------------------
this file is a part of the TOYOTA Corolla MP3 Player Project
-----------------------------------------------------------------------
http://www.softservice.com.pl/corolla/avc
May 28 / 2009 - version 2
*/
#include "GlobalDef.h"
//------------------------------------------------------------------------------
// max 10 events in fifo
byte EventCount;
byte EventCmd[10];
byte Event;
byte showLog;
byte showLog2;

View File

@ -46,6 +46,38 @@ typedef unsigned int word;
inline void LedOff( void );
inline void LedOn( void );
/*--------------------------------------------------------------------------------------------------
From Marcin's "const.h"
--------------------------------------------------------------------------------------------------*/
// max 10 events in fifo
extern byte EventCount;
extern byte EventCmd[10];
extern byte Event;
#define EV_NOTHING 0
#define EV_DISPLAY 1
#define EV_STATUS 4
//------------------------------------------------------------------------------
// const
#define smYear 1
#define smMonth 2
#define smDay 3
#define smHour 4
#define smMin 5
#define smWDay 6
//#define STOPEvent cbi(TIMSK, TOIE1); cbi(UCSRB, RXCIE);
//#define STARTEvent sbi(TIMSK, TOIE1); sbi(UCSRB, RXCIE);
extern byte showLog;
extern byte showLog2;
#endif // _GLOBALDEF_H_
/*--------------------------------------------------------------------------------------------------

View File

@ -1,5 +1,6 @@
CC=avr-g++
CFLAGS=-c -g -Os -Wall -fno-exceptions -fpermissive -ffunction-sections -fdata-sections -fno-threadsafe-statics -mmcu=atmega328p
CFLAGS=-c -g -Os -Wall -mmcu=atmega328p
CFLAGS+=-fno-exceptions -fpermissive -ffunction-sections -fdata-sections -fno-threadsafe-statics
DEFS= -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_DUEMILANOVE -DARDUINO_ARCH_AVR
LFLAGS=-g -MMD -mmcu=atmega328p
@ -8,8 +9,8 @@ all: sniffer.hex
sniffer.hex: sniffer.elf
avr-objcopy -j .text -j .data -O ihex sniffer.elf sniffer.hex
sniffer.elf: sniffer.o com232.o avclandrv.o
$(CC) $(LFLAGS) $(DEFS) -o sniffer.elf sniffer.o com232.o avclandrv.o
sniffer.elf: sniffer.o com232.o avclandrv.o GlobalDef.o
$(CC) $(LFLAGS) $(DEFS) -o sniffer.elf sniffer.o com232.o avclandrv.o GlobalDef.o
sniffer.o: sniffer.c GlobalDef.h com232.h avclandrv.h
$(CC) $(CFLAGS) $(DEFS) sniffer.c
@ -20,6 +21,9 @@ com232.o: com232.c com232.h GlobalDef.h
avclandrv.o: avclandrv.c GlobalDef.h com232.h avclandrv.h
$(CC) $(CFLAGS) $(DEFS) avclandrv.c
GlobalDef.o: GlobalDef.c GlobalDef.h
$(CC) $(CFLAGS) $(DEFS) GlobalDef.c
clean:
rm *.o *.hex *.elf

Binary file not shown.

View File

@ -1,327 +0,0 @@
:100000000C942D020C944A020C944A020C944A025D
:100010000C944A020C944A020C944A020C944A0230
:100020000C944A020C944A020C944A020C944A0220
:100030000C944A020C944A020C944A020C944A0210
:100040000C944A020C944A020C944A020C944A0200
:100050000C944A020C944A020C944A020C944A02F0
:100060000C944A020C944A023C03B704B704860479
:100070008D04B30454044003CA030909436F707923
:1000800072696768742028432920323030372C2069
:100090005369676D614F626A6563747320496E636B
:1000A0002E0D0A000D0A09092020202020546F7906
:1000B0006F7461204156432D4C616E20415558208C
:1000C000456E61626C65720D0A000D0A00202020E9
:1000D0004465736372697074696F6E3A20202020E2
:1000E000000D0A41555820456E61626C6572202DE5
:1000F0002D2D3E3E2048550D0A000D0A4155582031
:10010000456E61626C6572203C3C2D2D2D2048555A
:100110000D0A0041766350726F63657373416374B7
:10012000696F6E49443A20556E6B6E6F776E206131
:100130006374696F6E204944210D0A00556E6B6E21
:100140006F776E206D65737361676521004176631B
:10015000526561644D6573736167653A20546869DF
:1001600073206D65737361676520697320666F72B4
:10017000206D65210D0A00417663526561644D650D
:1001800073736167653A2050617269747920657292
:10019000726F722040204461746153697A65210D49
:1001A0000A00417663526561644D657373616765EA
:1001B0003A20506172697479206572726F722040C2
:1001C00020436F6E74726F6C210D0A00417663528A
:1001D0006561644D6573736167653A20506172694A
:1001E0007479206572726F72204020536C6176655D
:1001F00041646472657373210D0A00417663526530
:1002000061644D6573736167653A2050617269740A
:1002100079206572726F722040204D61737465722F
:1002200041646472657373210D0A000100050001C9
:1002300011516100000000000044697361626C6547
:100240002041555800000000000001000500011188
:100250005061000000000000456E61626C65204145
:100260005558000000000000000100041101450184
:100270000000000000000041555820696E20757391
:10028000650000000000000002000411014560004C
:1002900000000000000054756E657220696E2075C4
:1002A00073650000000000030004110145610000B7
:1002B00000000000005461706520696E2075736550
:1002C000000000000000040004110145620000006D
:1002D00000000000434420696E2075736500000033
:1002E00000000000000000031101460000000000B3
:1002F0000000004E6F2064657669636520696E209A
:10030000757365000000031101200000000000006B
:10031000000050696E67000000000000000000004F
:100320000000000700056031F1010100000000003D
:100330000054756E6572205374617475730000000B
:10034000000005000A6231F1003001000000008069
:10035000456A65637420434400000000000000000B
:100360000006000A6231F100F80101000000804E31
:100370006F20434400000000000000000000000067
:100380000800047431F19000000000000000417585
:1003900064696F2053746174757300000000000974
:1003A00000047431A090000000000000004175645A
:1003B000696F2053746174757300000000000A00B7
:1003C0000300010A00000000000000004C414E2024
:1003D000537461747573000000000000000B00038B
:1003E00011010000000000000000004C414E2052AE
:1003F0006567697374657200000000000C000311EA
:10040000010100000000000000004C414E20526538
:1004100073746172740000000000000D000311018C
:100420002000000000000000004C414E20436865A1
:10043000636B0000000000000000000000000000EE
:1004400000000000000000000000000000000000AC
:100450000000000000000000000011241FBECFEFCC
:10046000D8E0DEBFCDBF12E0A0E0B1E0E0EEF2E107
:1004700002C005900D92AA37B107D9F723E0AAE789
:10048000B2E001C01D92A83DB207E1F70E946002F0
:100490000C946E090C940000259A2D9A82E085BD7B
:1004A0000E9490025B9A5A982FE088E190E00FB684
:1004B000F894A895809360000FBE20936000089583
:1004C0000E944C0284EA90E00E94BF028AE790E01A
:1004D0000E94BF0280E091E09F938F938CE091E0B7
:1004E0009F938F9381E191E09F938F938AE792E0AE
:1004F0009F938F930E949D068AE792E00E94B30229
:100500008DB79EB708960FB6F8949EBF0FBE8DBFED
:10051000A8950E947F050097D9F30E942C03F8CF7D
:10052000E1ECF0E010821092C00086E88093C200F7
:1005300087E68093C400589A88E18083089580916B
:10054000C000881F8827881F08958091C00087FFFA
:10055000FCCF8091C60008959091C00095FFFCCF1C
:100560008093C6000895CF93DF93EC01899188238F
:1005700019F00E94AC02FACFDF91CF910895CF938A
:10058000DF93FC018491EF012196882321F00E94E2
:10059000AC02FE01F7CFDF91CF9108959C01225F5D
:1005A0003F4F3093D7032093D603FC01249141E0C1
:1005B000211101C040E04093D50320E633E03093A1
:1005C000D4032093D303411103C02FEF31E002C0C5
:1005D00020E931E03093D2032093D103FC0132961D
:1005E00044914093CF0331962EEC32E0D9015A2F3B
:1005F000521B541720F454915D933196F8CF08950F
:10060000282F1092CE0380E090E041E02150A8F026
:10061000880F991F00B605FC02C0A895FBCF16BC39
:1006200000B605FCFDCF36B5343380F781603091DC
:10063000CE0334273093CE03E9CF089516BC8AB198
:100640008C608AB986B58034E8F38AB1837F8AB931
:1006500086B58A34E8F30895EF92FF920F931F93C3
:10066000CF93DF93FC013197E930F10508F07BC1AE
:10067000EC5CFF4F0C94900681E08093CD0277C133
:100680008CE291E00E94B30266E371E08AE792E0B7
:100690000E9496068AE792E00E94B30268E471E045
:1006A0008AE792E00E9496068AE792E00E94B302EF
:1006B0008091D2021F928F930CE112E01F930F934F
:1006C000CAE7D2E0DF93CF930E949D06CE010E943D
:1006D000B30265E571E0CE010E949606CE010E944C
:1006E000B3028091D3021F928F931F930F93DF93D6
:1006F000CF930E949D06CE010E94B30263E671E093
:10070000CE010E949606CE010E94B3028091D402CF
:100710001F928F931F930F93DF93CF930E949D0699
:10072000CE010E94B3026EE671E0CE010E949606F1
:10073000CE010E94B3028091D5021F928F931F9326
:100740000F93DF93CF930E949D06CE010E94B302C8
:1007500069E771E0CE010E949606CE010E94B302C5
:100760008091D7021F928F931F930F93DF93CF93A4
:100770000E949D06CE010E94B3028CE291E00E948D
:10078000B3028DB79EB74E960FB6F8949EBF0FBEBC
:100790008DBFEDC08CE291E00E94B30266E871E08B
:1007A0008AE792E00E9496068AE792E00E94B302EE
:1007B00068E471E08AE792E00E9496068AE792E098
:1007C0000E94B3028091D2021F928F930CE112E03B
:1007D0001F930F93CAE7D2E0DF93CF930E949D0649
:1007E000CE010E94B30265E571E0CE010E9496063B
:1007F000CE010E94B3028091D3021F928F931F9368
:100800000F93DF93CF930E949D06CE010E94B30207
:1008100063E671E0CE010E949606CE010E94B3020B
:100820008091D4021F928F931F930F93DF93CF93E6
:100830000E949D06CE010E94B3026EE671E0CE01D9
:100840000E949606CE010E94B3028091D5021F92AB
:100850008F931F930F93DF93CF930E949D06CE013A
:100860000E94B30269E771E0CE010E949606CE01B4
:100870000E94B3028091D7021F928F931F930F9310
:10088000DF93CF930E949D06CE010E94B3028CE2BB
:1008900091E00E94B3028DB79EB74E960FB6F894C2
:1008A0009EBF0FBE8DBF63C08CE291E00E94B30279
:1008B00068E971E08AE792E00E9496068AE792E092
:1008C0000E94B302C3EDD2E044EBE42E41E0F42EEB
:1008D0000AE712E089911F928F93FF92EF921F9384
:1008E0000F930E949D068AE792E00E94B3020F9048
:1008F0000F900F900F900F900F9092E0C63DD90788
:1009000049F78CE291E00E94B30231C09093CC028F
:100910008093CB021092CD022AC08091CB0290919D
:10092000CC02049721F18091CD02882339F08BE22B
:1009300092E00E94CE021092CD0207C08AE492E0BB
:100940000E94CE0281E08093CD0216BC00B605FC69
:10095000FCCF86B58B34D0F32D9816BC8AB18C6051
:100960008AB986B5FECF83E191E00E94BF0280E0A4
:10097000DF91CF911F910F91FF90EF90089581E04B
:100980008093D50380E693E09093D4038093D303C0
:1009900080E991E09093D2038093D1038FE080931C
:1009A000D0038BE090E00E942C0381E00895FF9239
:1009B0000F931F93CF93DF93882319F08AEF90E072
:1009C00002C081EE90E00E94BF028DEC90E00E9498
:1009D000BF028091D6039091D7030E94BF028AEC98
:1009E00090E00E94BF028091D5031F928F9388EB05
:1009F00091E09F938F93CAE7D2E0DF93CF930E9459
:100A00009D06CE010E94B3028091D4038F93809102
:100A1000D3038F9381ED91E09F938F93DF93CF93D7
:100A20000E949D06CE010E94B3028091D2038F9353
:100A30008091D1038F938CEE91E09F938F93DF93FE
:100A4000CF930E949D06CE010E94B3028091D003F5
:100A50001F928F9387E092E09F938F93DF93CF93C2
:100A60000E949D06CE010E94B3028091CF031F9287
:100A70008F9382E292E09F938F93DF93CF930E94B4
:100A80009D06CE010E94B3026BE372E0CE010E948C
:100A90009606CE010E94B3028DB79EB74E960FB652
:100AA000F8949EBF0FBE8DBFF12CC4EBD1E00AE7D6
:100AB00012E08091CF03F816C8F4EF2DF0E0E25376
:100AC000FD4F80811F928F93DF93CF931F930F93DE
:100AD0000E949D068AE792E00E94B302F3940F9071
:100AE0000F900F900F900F900F90E3CF8CE291E05A
:100AF000DF91CF911F910F91FF900C94B302AF92B1
:100B0000BF92CF92DF92EF92FF920F931F93CF93FA
:100B1000DF9381E00E9400032D9881E00E94000392
:100B200021E0892B09F420E02093D5038CE00E947A
:100B300000039093D4038093D303C091CE03D0E0FD
:100B400081E00E940003C817D90719F08BEF91E0EC
:100B50004AC08CE00E940003EC019093D203809382
:100B6000D1030091CE0310E081E00E94000308173A
:100B7000190719F08CEC91E036C0BB24B394C03651
:100B8000D34029F0B12C81E00E94000302C00E94F2
:100B90001E0384E00E9400038093D003C091CE0323
:100BA000D0E081E00E940003C817D90719F082EA5B
:100BB00091E019C0BB2019F00E941E0303C081E020
:100BC0000E94000388E00E940003A82E8093CF03B8
:100BD000C091CE03D0E081E00E940003C817D9077E
:100BE00029F087E791E00E94BF023CC0BB2019F0CA
:100BF0000E941E0303C081E00E9400035EECE52E0C
:100C000052E0F52EE70104C0BB2079F10E941E03DB
:100C10008C2F8E198A1568F58E010E5C124088E0C3
:100C20000E9400038993C090CE03D12C81E00E94E2
:100C30000003C816D90641F31F930F938FE492E087
:100C40009F938F938AE792E09F938F930E949D06D4
:100C50008AE792E00E94B3020F900F900F900F90DE
:100C60000F900F90C0E0D0E04FC081E00E940003E1
:100C7000CFCFBB2021F08DE491E00E94BF028CE336
:100C800091E09093D7038093D6032BE632E080E087
:100C900090E0BFE1A0E0B89FB001B99F700D1124B2
:100CA000F9014491A417E8F44A2F50E0FA01E60F45
:100CB000F71FE459FD4FE491EA01C253DD4F48812B
:100CC0004E1302C0AF5FECCF0196215E3F4F8031E3
:100CD000910501F7C0E0D0E080E00E94D7042D9A92
:100CE00013C02FE1289FF001299FF00D1124CF019F
:100CF00089589D4F9093D7038093D603E759FD4FB2
:100D0000E491CE2FD0E0E8CFCE01DF91CF911F91BB
:100D10000F91FF90EF90DF90CF90BF90AF9008952C
:100D2000EE0FFF1F0590F491E02D0994FB01DC010B
:100D300001900D920020E1F70895AEE0B0E0E3EA03
:100D4000F6E00C9445090D891E8986E08C831A8390
:100D500009838FEF9FE79E838D83AE01475E5F4FD0
:100D60006F89788DCE0101960E94BF06EF81F885CC
:100D7000E00FF11F10822E96E4E00C946109ACE0C4
:100D8000B0E0E5ECF6E00C9437097C016B018A01D8
:100D9000FC0117821682838181FFBDC1CE010196BD
:100DA0004C01F7019381F60193FD859193FF8191A9
:100DB0006F01882309F4ABC1853239F493FD859125
:100DC00093FF81916F01853229F4B70190E00E9471
:100DD000A708E7CF512C312C20E02032A0F48B3231
:100DE00069F030F4803259F0833269F420612CC00C
:100DF0008D3239F0803339F4216026C022602460BE
:100E000023C0286021C027FD27C030ED380F3A30BD
:100E100078F426FF06C0FAE05F9E300D1124532EB1
:100E200013C08AE0389E300D1124332E20620CC08E
:100E30008E3221F426FD6BC1206406C08C3611F47D
:100E4000206802C0883641F4F60193FD859193FF36
:100E500081916F018111C1CF982F9F7D955493305F
:100E600028F40C5F1F4FFFE3F9830DC0833631F088
:100E7000833771F0833509F05BC022C0F8018081AF
:100E800089830E5F1F4F44244394512C540115C095
:100E90003801F2E06F0E711CF801A080B18026FFCE
:100EA00003C0652D70E002C06FEF7FEFC5012C8796
:100EB0000E949C082C0183012C852F77222E17C0BD
:100EC0003801F2E06F0E711CF801A080B18026FF9E
:100ED00003C0652D70E002C06FEF7FEFC5012C8766
:100EE0000E9491082C012C852068222E830123FC6E
:100EF0001BC0832D90E048165906B0F4B70180E27C
:100F000090E00E94A7083A94F4CFF50127FC859160
:100F100027FE81915F01B70190E00E94A708311080
:100F20003A94F1E04F1A51084114510471F7E5C0A9
:100F3000843611F0893639F5F80127FF07C0608142
:100F40007181828193810C5F1F4F08C06081718124
:100F5000882777FD8095982F0E5F1F4F2F76B22E32
:100F600097FF09C090958095709561957F4F8F4F41
:100F70009F4F2068B22E2AE030E0A4010E94D908D9
:100F8000A82EA81844C0853729F42F7EB22E2AE057
:100F900030E025C0F22FF97FBF2E8F36C1F018F454
:100FA000883579F0B4C0803719F0883721F0AFC0A8
:100FB0002F2F2061B22EB4FE0DC08B2D8460B82E71
:100FC00009C024FF0AC09F2F9660B92E06C028E0F2
:100FD00030E005C020E130E002C020E132E0F8015D
:100FE000B7FE07C060817181828193810C5F1F4FC2
:100FF00006C06081718180E090E00E5F1F4FA40108
:101000000E94D908A82EA818FB2DFF77BF2EB6FE88
:101010000BC02B2D2E7FA51450F4B4FE0AC0B2FCD9
:1010200008C02B2D2E7E05C07A2C2B2D03C07A2CC8
:1010300001C0752C24FF0DC0FE01EA0DF11D808159
:10104000803311F4297E09C022FF06C07394739483
:1010500004C0822F867809F0739423FD13C020FF0B
:1010600006C05A2C731418F4530C5718732C7314AD
:1010700068F4B70180E290E02C870E94A70873947F
:101080002C85F5CF731410F4371801C0312C24FFD0
:1010900012C0B70180E390E02C870E94A7082C853E
:1010A00022FF17C021FF03C088E590E002C088E757
:1010B00090E0B7010CC0822F867859F021FD02C064
:1010C00080E201C08BE227FD8DE2B70190E00E9433
:1010D000A708A51438F4B70180E390E00E94A708A0
:1010E0005A94F7CFAA94F401EA0DF11D8081B7015B
:1010F00090E00E94A708A110F5CF332009F451CE4B
:10110000B70180E290E00E94A7083A94F6CFF70179
:101110008681978102C08FEF9FEF2C96E2E10C94BD
:101120005309FC010590615070400110D8F780957B
:1011300090958E0F9F1F0895FC01615070400190A3
:101140000110D8F7809590958E0F9F1F08950F93EB
:101150001F93CF93DF93182F092FEB018B8181FD14
:1011600003C08FEF9FEF20C082FF10C04E815F81D0
:101170002C813D81421753077CF4E881F9819F015E
:101180002F5F3F4F39832883108306C0E885F98598
:10119000812F0995892B29F72E813F812F5F3F4FA2
:1011A0003F832E83812F902FDF91CF911F910F913D
:1011B0000895FA01AA27283051F1203181F1E894ED
:1011C0006F936E7F6E5F7F4F8F4F9F4FAF4FB1E03A
:1011D0003ED0B4E03CD0670F781F891F9A1FA11D35
:1011E000680F791F8A1F911DA11D6A0F711D811D36
:1011F000911DA11D20D009F468943F912AE0269FFB
:1012000011243019305D3193DEF6CF010895462F59
:101210004770405D4193B3E00FD0C9F7F6CF462F3A
:101220004F70405D4A3318F0495D31FD40524193A3
:1012300002D0A9F7EACFB4E0A69597958795779560
:101240006795BA95C9F700976105710508959B01E7
:10125000AC010A2E06945795479537952795BA9570
:10126000C9F7620F731F841F951FA01D08952F9249
:101270003F924F925F926F927F928F929F92AF9226
:10128000BF92CF92DF92EF92FF920F931F93CF9373
:10129000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF0A
:1012A0000FBECDBF09942A88398848885F846E8430
:1012B0007D848C849B84AA84B984C884DF80EE807A
:1012C000FD800C811B81AA81B981CE0FD11D0FB683
:1012D000F894DEBF0FBECDBFED010895F894FFCFA7
:1012E0004A756C20313820323031350076312E305D
:1012F00000090920202020204669726D77617265FF
:101300002025732C2025730D0A0D0A000D0A2D2DA2
:101310002D2D2D0D0A00202020464D20696E2075B0
:1013200073653A20200D0A00202020566F6C756DE1
:10133000653A20200020202042616C616E63653A8E
:10134000202000202020466164653A2020002020D3
:1013500020426173733A202000202020547265627D
:101360006C653A202000202020414D20696E2075B8
:1013700073653A20200D0A00202020464D20467239
:10138000657175656E63793A202020202020202029
:10139000202020002558200020202042726F616408
:1013A000636173743A2020202020202564200D0AD8
:1013B000002020204D617374657220616464726541
:1013C00073733A2030782558200D0A0020202053CE
:1013D0006C61766520616464726573733A202030B5
:1013E000782558200D0A00202020436F6E74726FFC
:1013F0006C3A202020202020202030782558200DF5
:101400000A00202020446174612073697A653A20C3
:1014100020202020202564200D0A00202020446167
:1014200074613A202020202020202020202000410C
:101430007663526561644D6573736167653A2050E8
:101440006172697479206572726F72204020446104
:0A14500074615B25645D0D0A000065
:00000001FF

Binary file not shown.

BIN
USART.o

Binary file not shown.

View File

@ -29,7 +29,8 @@
#include <avr/io.h>
#include <avr/interrupt.h>
//#include <avr/pgmspace.h> // Unnecessary?
#include <avr/pgmspace.h>
#include "avclandrv.h"
#include "com232.h"
#include "GlobalDef.h"
@ -63,6 +64,21 @@ byte cd_Time_Sec;
byte answerReq;
cd_modes CD_Mode;
byte broadcast;
byte master1;
byte master2;
byte slave1;
byte slave2;
byte message_len;
byte message[MAXMSGLEN];
byte data_control;
byte data_len;
byte data[MAXMSGLEN];
// we need check answer (to avclan check) timeout
// when is more then 1 min, FORCE answer.
byte check_timeout;
@ -75,10 +91,6 @@ const byte stat2[] = { 0x4, 0x00, 0x00, 0x01, 0x08 };
const byte stat3[] = { 0x4, 0x00, 0x00, 0x01, 0x0D };
const byte stat4[] = { 0x4, 0x00, 0x00, 0x01, 0x0C };
// Updated avclandrv.c had these
const u08 stat5[] = { 0x6, 0x00, 0x12, 0x5C, 0x43, 0x02, 0x00 };
const u08 stat6[] = { 0x4, 0x00, 0x58, 0x63, 0xE0 };
// broadcast
const byte lan_stat1[] = { 0x3, 0x00, 0x01, 0x0A };
const byte lan_reg[] = { 0x3, SW_ID, 0x01, 0x00 };
@ -274,8 +286,6 @@ void AVCLan_Send_Bit0()
//------------------------------------------------------------------------------
byte AVCLan_Read_ACK()
{
byte time = 0;
AVC_SET_1();
TCNT0 = 0;
while( TCNT0 < 39 );
@ -288,8 +298,7 @@ byte AVCLan_Read_ACK()
AVC_OUT_DIS(); // switch to read mode
TCNT0 = 1;
while(1) {
time = TCNT0;
if (INPUT_IS_SET && (TCNT0 > 1)) break;
if (INPUT_IS_SET && (TCNT0 > 2)) break;
if (TCNT0 > 41) return 1; // Not sure if this fix is intent correct
}
@ -343,7 +352,7 @@ byte AVCLan_Send_Byte(byte bite, byte len)
}
len--;
if (!len) {
//if (INPUT_IS_SET) RS232_Print("SBER\n"); // Send Bit ERror
//if (INPUT_IS_SET) RS232_S((unsigned char)PSTR("SBER\n")); // Send Bit ERror
return 1;
}
b = b << 1;
@ -392,14 +401,14 @@ byte AVCLan_Read_Message()
byte i;
byte for_me = 0;
//RS232_Print("$ ");
//RS232_S((unsigned char)PSTR("$ "));
// check start bit
TCNT0 = 0;
while (INPUT_IS_SET) {
if ( TCNT0 > 2286 ) { // Originally 254
STARTEvent;
RS232_Print("LAN>T1\n");
RS232_S((unsigned char)PSTR("LAN>T1\n"));
return 0;
}
}
@ -407,7 +416,7 @@ byte AVCLan_Read_Message()
if ( TCNT0 < 90 ) { // !!!!!!! 20 !!!!!!!!!!! (Originally 10)
STARTEvent;
RS232_Print("LAN>T2\n");
RS232_S((unsigned char)PSTR("LAN>T2\n"));
return 0;
}
@ -457,7 +466,7 @@ byte AVCLan_Read_Message()
else AVCLan_Read_Byte(1);
if (message_len > MAXMSGLEN) {
// RS232_Print("LAN> Command error");
// RS232_S((unsigned char)PSTR("LAN> Command error"));
STARTEvent;
return 0;
}
@ -553,7 +562,7 @@ byte AVCLan_SendData()
if (AVCLan_Read_ACK()) {
AVC_OUT_DIS();
STARTEvent;
RS232_Print("E1\n");
RS232_S((unsigned char)PSTR("E1\n"));
return 1;
}
@ -563,7 +572,7 @@ byte AVCLan_SendData()
if (AVCLan_Read_ACK()) {
AVC_OUT_DIS();
STARTEvent;
RS232_Print("E2\n");
RS232_S((unsigned char)PSTR("E2\n"));
return 2;
}
@ -572,7 +581,7 @@ byte AVCLan_SendData()
if (AVCLan_Read_ACK()) {
AVC_OUT_DIS();
STARTEvent;
RS232_Print("E3\n");
RS232_S((unsigned char)PSTR("E3\n"));
return 3;
}
@ -582,9 +591,9 @@ byte AVCLan_SendData()
if (AVCLan_Read_ACK()) {
AVC_OUT_DIS();
STARTEvent;
RS232_Print("E4(");
RS232_S((unsigned char)PSTR("E4("));
RS232_PrintDec(i);
RS232_Print(")\n");
RS232_S((unsigned char)PSTR(")\n"));
return 4;
}
}
@ -776,13 +785,13 @@ byte AVCLan_SendAnswer()
break;
case cmRegister: r = AVCLan_SendAnswerFrame((byte*)CMD_REGISTER);
break;
case cmInit: //RS232_Print("INIT\n");
case cmInit: //RS232_S((unsigned char)PSTR("INIT\n"));
r = AVCLan_SendInitCommands();
break;
case cmCheck: r = AVCLan_SendAnswerFrame((byte*)CMD_CHECK);
check_timeout = 0;
CMD_CHECK[6]++;
RS232_Print("AVCCHK\n");
RS232_S((unsigned char)PSTR("AVCCHK\n"));
break;
case cmPlayReq1: playMode = 0;
r = AVCLan_SendAnswerFrame((byte*)CMD_PLAY_OK1);
@ -794,7 +803,7 @@ byte AVCLan_SendAnswer()
CD_Mode = stPlay;
break;
case cmPlayIt: playMode = 1;
RS232_Print("PLAY\n");
RS232_S((unsigned char)PSTR("PLAY\n"));
CMD_PLAY_OK4[7]=cd_Disc;
CMD_PLAY_OK4[8]=cd_Track;
CMD_PLAY_OK4[9]=cd_Time_Min;
@ -826,9 +835,9 @@ byte AVCLan_SendAnswer()
//------------------------------------------------------------------------------
void AVCLan_Register()
{
RS232_Print("REG_ST\n");
RS232_S((unsigned char)PSTR("REG_ST\n"));
AVCLan_SendAnswerFrame((byte*)CMD_REGISTER);
RS232_Print("REG_END\n");
RS232_S((unsigned char)PSTR("REG_END\n"));
//AVCLan_Command( cmRegister );
AVCLan_Command( cmInit );
}
@ -842,9 +851,9 @@ byte AVCLan_Command(byte command)
answerReq = command;
r = AVCLan_SendAnswer();
/*
RS232_Print("ret=");
RS232_S((unsigned char)PSTR("ret="));
RS232_PrintHex8(r);
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
*/
return r;
}
@ -876,7 +885,7 @@ byte HexDec(byte data)
byte Dec2Toy(byte data)
{
byte d,d1;
d = (u32)data/(u32)10;
d = (unsigned int)data/(unsigned int)10;
d1 = d * 16;
d = d1 + (data - 10*d);
return d;
@ -891,24 +900,24 @@ void ShowInMessage()
AVC_HoldLine();
RS232_S((u16)PSTR("HU < ("));
RS232_S((unsigned char)PSTR("HU < ("));
if (broadcast==0) RS232_S((u16)PSTR("bro) "));
else RS232_Print("dir) ");
if (broadcast==0) RS232_S((unsigned char)PSTR("bro) "));
else RS232_S((unsigned char)PSTR("dir) "));
RS232_PrintHex4(master1);
RS232_PrintHex8(master2);
RS232_Print("| ");
RS232_S((unsigned char)PSTR("| "));
RS232_PrintHex4(slave1);
RS232_PrintHex8(slave2);
RS232_Print("| ");
RS232_S((unsigned char)PSTR("| "));
byte i;
for (i=0;i<message_len;i++) {
RS232_PrintHex8(message[i]);
RS232_Print(" ");
RS232_S((unsigned char)PSTR(" "));
}
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
AVC_ReleaseLine();
}
@ -920,12 +929,12 @@ void ShowOutMessage()
AVC_HoldLine();
RS232_S((u16)PSTR("out > "));
RS232_S((unsigned char)PSTR("out > "));
for (i=0; i<data_len; i++) {
RS232_PrintHex8(data[i]);
RS232_SendByte(' ');
}
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
AVC_ReleaseLine();
}

View File

@ -84,20 +84,20 @@ extern byte CD_ID_2; // 0x60
#define cmStopReq2 9
typedef enum { stStop=0, stPlay=1 } cd_modes;
cd_modes CD_Mode;
extern cd_modes CD_Mode;
byte broadcast;
byte master1;
byte master2;
byte slave1;
byte slave2;
byte message_len;
byte message[MAXMSGLEN];
extern byte broadcast;
extern byte master1;
extern byte master2;
extern byte slave1;
extern byte slave2;
extern byte message_len;
extern byte message[MAXMSGLEN];
byte data_control;
byte data_len;
byte data[MAXMSGLEN];
extern byte data_control;
extern byte data_len;
extern byte data[MAXMSGLEN];
byte AVCLan_Read_Message();
void AVCLan_Send_Status();

View File

@ -29,6 +29,8 @@
#include <avr/pgmspace.h>
#include "com232.h"
byte RS232_RxCharBuffer[25], RS232_RxCharBegin, RS232_RxCharEnd;
byte readkey;
//------------------------------------------------------------------------------
void RS232_Init(void)
@ -42,25 +44,25 @@ void RS232_Init(void)
UCSR0A = 0;
UCSR0B = ((1<<RXCIE0) | (1<<RXEN0) | (1<<TXEN0)); // enable RxD/TxD and interrupts
UCSR0C = ((1<<UCSZ01)|(1<<UCSZ00)); // 8N1
UBRR0L = 3; // 250000
UBRR0L = 3; // baud rate 250000
}
//------------------------------------------------------------------------------
SIGNAL(SIG_USART_RECV)
ISR(USART_RX_vect)
{
RS232_RxCharBuffer[RS232_RxCharEnd] = UDR0; // Store received character to the End of Buffer
RS232_RxCharEnd++;
}
//------------------------------------------------------------------------------
void RS232_SendByte(u08 Data)
void RS232_SendByte(byte Data)
{
while ((UCSR0A & _BV(UDRE0)) != _BV(UDRE0)); // wait for UART to become available
UDR0 = Data; // send character
}
//------------------------------------------------------------------------------
void RS232_S(u16 str_addr)
void RS232_S(unsigned short str_addr)
{
register u08 c;
register byte c;
while ( (c = pgm_read_byte(str_addr++) ) )
{
if (c == '\n')
@ -71,7 +73,7 @@ void RS232_S(u16 str_addr)
//------------------------------------------------------------------------------
void RS232_Print(char* pBuf)
{
register u08 c;
register byte c;
while ((c = *pBuf++))
{
if (c == '\n')
@ -80,22 +82,22 @@ void RS232_Print(char* pBuf)
}
}
//------------------------------------------------------------------------------
void RS232_PrintHex4(u08 Data)
void RS232_PrintHex4(byte Data)
{
u08 Character = Data & 0x0f;
byte Character = Data & 0x0f;
Character += '0';
if (Character > '9')
Character += 'A' - '0' - 10;
RS232_SendByte(Character);
}
//------------------------------------------------------------------------------
void RS232_PrintHex8(u08 Data)
void RS232_PrintHex8(byte Data)
{
RS232_PrintHex4(Data >> 4);
RS232_PrintHex4(Data);
}
//------------------------------------------------------------------------------
void RS232_PrintDec(u08 Data)
void RS232_PrintDec(byte Data)
{
if (Data>99) {
RS232_SendByte('*');
@ -105,8 +107,8 @@ void RS232_PrintDec(u08 Data)
RS232_SendByte('0'+Data);
return;
}
u08 c;
u16 v,v1;
byte c;
unsigned short v,v1;
v = Data;
v1 = v/10;
c = '0' + (v-v1*10);
@ -114,7 +116,7 @@ void RS232_PrintDec(u08 Data)
RS232_SendByte(c);
}
//------------------------------------------------------------------------------
void RS232_PrintDec2(u08 Data)
void RS232_PrintDec2(byte Data)
{
if (Data<10) RS232_SendByte('0');
RS232_PrintDec(Data);

View File

@ -28,22 +28,22 @@
#define __COM232_H
//------------------------------------------------------------------------------
#include "const.h"
#include "GlobalDef.h"
//------------------------------------------------------------------------------
u08 RS232_RxCharBuffer[25], RS232_RxCharBegin, RS232_RxCharEnd;
u08 readkey;
extern byte RS232_RxCharBuffer[25], RS232_RxCharBegin, RS232_RxCharEnd;
extern byte readkey;
//------------------------------------------------------------------------------
void RS232_Init(void);
extern void RS232_S(u16 str_addr);
extern void RS232_SendByte(u08 Data);
extern void RS232_S(unsigned short str_addr);
extern void RS232_SendByte(byte Data);
extern void RS232_Print(char* pBuf);
extern void RS232_PrintHex4(u08 Data);
extern void RS232_PrintHex8(u08 Data);
extern void RS232_PrintDec(u08 Data);
extern void RS232_PrintDec2(u08 Data);
extern void RS232_PrintHex4(byte Data);
extern void RS232_PrintHex8(byte Data);
extern void RS232_PrintDec(byte Data);
extern void RS232_PrintDec2(byte Data);
//------------------------------------------------------------------------------
// LED

View File

@ -66,16 +66,16 @@ int main()
RS232_S((u16)PSTR("AVCLan reader 1.00\nReady\n\n"));
RS232_S((unsigned char)PSTR("AVCLan reader 1.00\nReady\n\n"));
LED_OFF();
RS232_S((u16)PSTR("T - device id\n"));
RS232_S((u16)PSTR("H - HU id\n"));
RS232_S((u16)PSTR("S - read sequence\n"));
RS232_S((u16)PSTR("W - send command\n"));
RS232_S((u16)PSTR("Q - send broadcast\n"));
RS232_S((u16)PSTR("L/l - log on/off\n"));
RS232_S((u16)PSTR("K/k - seq. echo on/off\n"));
RS232_S((u16)PSTR("R/r - register device\n"));
RS232_S((unsigned char)PSTR("T - device id\n"));
RS232_S((unsigned char)PSTR("H - HU id\n"));
RS232_S((unsigned char)PSTR("S - read sequence\n"));
RS232_S((unsigned char)PSTR("W - send command\n"));
RS232_S((unsigned char)PSTR("Q - send broadcast\n"));
RS232_S((unsigned char)PSTR("L/l - log on/off\n"));
RS232_S((unsigned char)PSTR("K/k - seq. echo on/off\n"));
RS232_S((unsigned char)PSTR("R/r - register device\n"));
@ -111,15 +111,15 @@ int main()
case 'T': if (readSeq) {
CD_ID_1 = data_tmp[0];
CD_ID_2 = data_tmp[1];
RS232_Print("DEV ID SET: 0x");
RS232_S((unsigned char)PSTR("DEV ID SET: 0x"));
RS232_PrintHex8(CD_ID_1);
RS232_PrintHex8(CD_ID_2);
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
showLog = 1;
readSeq=0;
} else {
showLog = 0;
RS232_Print("DEV ID > \n");
RS232_S((unsigned char)PSTR("DEV ID > \n"));
readSeq = 1;
s_len=0;
s_dig=0;
@ -130,15 +130,15 @@ int main()
case 'H': if (readSeq) {
HU_ID_1 = data_tmp[0];
HU_ID_2 = data_tmp[1];
RS232_Print("HU ID SET: 0x");
RS232_S((unsigned char)PSTR("HU ID SET: 0x"));
RS232_PrintHex8(HU_ID_1);
RS232_PrintHex8(HU_ID_2);
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
showLog = 1;
readSeq=0;
} else {
showLog = 0;
RS232_Print("HU ID > \n");
RS232_S((unsigned char)PSTR("HU ID > \n"));
readSeq = 1;
s_len=0;
s_dig=0;
@ -147,7 +147,7 @@ int main()
break;
case 'S': showLog = 0;
RS232_Print("READ SEQUENCE > \n");
RS232_S((unsigned char)PSTR("READ SEQUENCE > \n"));
readSeq = 1;
s_len=0;
s_dig=0;
@ -163,7 +163,7 @@ int main()
break;
case 'R': RS232_Print("REGIST:\n");
case 'R': RS232_S((unsigned char)PSTR("REGIST:\n"));
AVCLan_Command( cmRegister );
TCNT0 = 0;
while( TCNT0 < 135 );
@ -173,17 +173,17 @@ int main()
break;
case 'l': RS232_Print("Log OFF\n");
case 'l': RS232_S((unsigned char)PSTR("Log OFF\n"));
showLog = 0;
break;
case 'L': RS232_Print("Log ON\n");
case 'L': RS232_S((unsigned char)PSTR("Log ON\n"));
showLog = 1;
break;
case 'k': RS232_Print("str OFF\n");
case 'k': RS232_S((unsigned char)PSTR("str OFF\n"));
showLog2 = 0;
break;
case 'K': RS232_Print("str ON\n");
case 'K': RS232_S((unsigned char)PSTR("str ON\n"));
showLog2 = 1;
break;
@ -204,12 +204,12 @@ int main()
s_c[0]=s_c[1]=0;
}
if (showLog2) {
RS232_Print("CURRENT SEQUENCE > ");
RS232_S((unsigned char)PSTR("CURRENT SEQUENCE > "));
for (i=0; i<s_len; i++) {
RS232_PrintHex8(data_tmp[i]);
RS232_SendByte(' ');
}
RS232_Print("\n");
RS232_S((unsigned char)PSTR("\n"));
}
}
} // switch (readkey)