From 0e58e7609082da9aada7e42c6b2a863ecfd711b1 Mon Sep 17 00:00:00 2001 From: skarg Date: Fri, 1 Sep 2006 18:02:44 +0000 Subject: [PATCH] Updated PIC18 port. --- bacnet-stack/ports/pic18/BACnet-Server.mcp | 6 +- bacnet-stack/ports/pic18/BACnet-Server.mcw | Bin 22528 -> 23552 bytes bacnet-stack/ports/pic18/bacnet.mcp | 98 +++++++++++---------- bacnet-stack/ports/pic18/bacnet.mcw | Bin 29184 -> 28160 bytes bacnet-stack/ports/pic18/dlmstp.c | 8 +- bacnet-stack/ports/pic18/main.c | 3 +- bacnet-stack/ports/pic18/rs485.c | 64 +++++++------- 7 files changed, 93 insertions(+), 86 deletions(-) diff --git a/bacnet-stack/ports/pic18/BACnet-Server.mcp b/bacnet-stack/ports/pic18/BACnet-Server.mcp index 5c04a9de..1c4173cc 100644 --- a/bacnet-stack/ports/pic18/BACnet-Server.mcp +++ b/bacnet-stack/ports/pic18/BACnet-Server.mcp @@ -88,9 +88,9 @@ file_015=C:\code\bacnet-stack\whois.c file_016=C:\code\bacnet-stack\demo\handler\h_dcc.c file_017=C:\code\bacnet-stack\demo\handler\h_rd.c file_018=main.c -file_019=C:\code\bacnet-stack\demo\object\tiny_dev.c -file_020=dlmstp.c -file_021=rs485.c +file_019=dlmstp.c +file_020=rs485.c +file_021=device.c file_022=C:\code\bacnet-stack\wp.h file_023=C:\code\bacnet-stack\abort.h file_024=C:\code\bacnet-stack\apdu.h diff --git a/bacnet-stack/ports/pic18/BACnet-Server.mcw b/bacnet-stack/ports/pic18/BACnet-Server.mcw index a4e164eb4f63761d193fcbd8be8ea341f707dbcd..eb35cf22e215c2a4fcb135b4d507a90ece8d28ac 100644 GIT binary patch literal 23552 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 Up$7W=Jh(MN2h0Z@-}xi|0;7c4aR2}S diff --git a/bacnet-stack/ports/pic18/bacnet.mcp b/bacnet-stack/ports/pic18/bacnet.mcp index df2429fe..ef4678e7 100644 --- a/bacnet-stack/ports/pic18/bacnet.mcp +++ b/bacnet-stack/ports/pic18/bacnet.mcp @@ -73,6 +73,8 @@ file_053=no file_054=no file_055=no file_056=no +file_057=no +file_058=no [FILE_INFO] file_000=rs485.c file_001=main.c @@ -85,59 +87,61 @@ file_007=C:\code\bacnet-stack\abort.c file_008=C:\code\bacnet-stack\apdu.c file_009=C:\code\bacnet-stack\bacdcode.c file_010=C:\code\bacnet-stack\bacerror.c -file_011=C:\code\bacnet-stack\bigend.c -file_012=C:\code\bacnet-stack\crc.c -file_013=C:\code\bacnet-stack\datalink.c -file_014=C:\code\bacnet-stack\dlmstp.c -file_015=C:\code\bacnet-stack\iam.c -file_016=C:\code\bacnet-stack\mstp.c -file_017=C:\code\bacnet-stack\npdu.c -file_018=C:\code\bacnet-stack\reject.c -file_019=C:\code\bacnet-stack\ringbuf.c -file_020=C:\code\bacnet-stack\wp.c -file_021=C:\code\bacnet-stack\demo\object\ai.c -file_022=C:\code\bacnet-stack\demo\object\ao.c -file_023=C:\code\bacnet-stack\dcc.c -file_024=C:\code\bacnet-stack\bacstr.c -file_025=C:\code\bacnet-stack\bacapp.c -file_026=C:\code\bacnet-stack\demo\object\tiny_dev.c -file_027=stdbool.h -file_028=stdint.h -file_029=init.h -file_030=timer.h -file_031=C:\code\bacnet-stack\whois.h -file_032=C:\code\bacnet-stack\abort.h -file_033=C:\code\bacnet-stack\apdu.h -file_034=C:\code\bacnet-stack\bacdcode.h -file_035=C:\code\bacnet-stack\bacdef.h -file_036=C:\code\bacnet-stack\bacenum.h -file_037=C:\code\bacnet-stack\bacerror.h -file_038=C:\code\bacnet-stack\bigend.h -file_039=C:\code\bacnet-stack\bits.h -file_040=C:\code\bacnet-stack\bytes.h -file_041=C:\code\bacnet-stack\config.h -file_042=C:\code\bacnet-stack\crc.h -file_043=C:\code\bacnet-stack\datalink.h -file_044=C:\code\bacnet-stack\dlmstp.h -file_045=C:\code\bacnet-stack\mstp.h -file_046=C:\code\bacnet-stack\npdu.h -file_047=C:\code\bacnet-stack\reject.h -file_048=C:\code\bacnet-stack\ringbuf.h -file_049=C:\code\bacnet-stack\rs485.h -file_050=C:\code\bacnet-stack\demo\object\ai.h -file_051=C:\code\bacnet-stack\demo\object\ao.h -file_052=C:\code\bacnet-stack\demo\object\device.h -file_053=C:\code\bacnet-stack\dcc.h -file_054=C:\code\bacnet-stack\bacstr.h -file_055=C:\code\bacnet-stack\bacapp.h -file_056=18f252.lkr +file_011=C:\code\bacnet-stack\crc.c +file_012=C:\code\bacnet-stack\datalink.c +file_013=C:\code\bacnet-stack\iam.c +file_014=C:\code\bacnet-stack\mstp.c +file_015=C:\code\bacnet-stack\npdu.c +file_016=C:\code\bacnet-stack\reject.c +file_017=C:\code\bacnet-stack\dcc.c +file_018=C:\code\bacnet-stack\bacstr.c +file_019=C:\code\bacnet-stack\bacapp.c +file_020=device.c +file_021=dlmstp.c +file_022=C:\code\bacnet-stack\demo\handler\h_rd.c +file_023=C:\code\bacnet-stack\demo\handler\h_dcc.c +file_024=C:\code\bacnet-stack\rd.c +file_025=C:\code\bacnet-stack\demo\handler\txbuf.c +file_026=C:\code\bacnet-stack\demo\handler\h_whois.c +file_027=C:\code\bacnet-stack\demo\handler\noserv.c +file_028=stdbool.h +file_029=stdint.h +file_030=init.h +file_031=timer.h +file_032=C:\code\bacnet-stack\whois.h +file_033=C:\code\bacnet-stack\abort.h +file_034=C:\code\bacnet-stack\apdu.h +file_035=C:\code\bacnet-stack\bacdcode.h +file_036=C:\code\bacnet-stack\bacdef.h +file_037=C:\code\bacnet-stack\bacenum.h +file_038=C:\code\bacnet-stack\bacerror.h +file_039=C:\code\bacnet-stack\bigend.h +file_040=C:\code\bacnet-stack\bits.h +file_041=C:\code\bacnet-stack\bytes.h +file_042=C:\code\bacnet-stack\config.h +file_043=C:\code\bacnet-stack\crc.h +file_044=C:\code\bacnet-stack\datalink.h +file_045=C:\code\bacnet-stack\dlmstp.h +file_046=C:\code\bacnet-stack\mstp.h +file_047=C:\code\bacnet-stack\npdu.h +file_048=C:\code\bacnet-stack\reject.h +file_049=C:\code\bacnet-stack\ringbuf.h +file_050=C:\code\bacnet-stack\rs485.h +file_051=C:\code\bacnet-stack\demo\object\ai.h +file_052=C:\code\bacnet-stack\demo\object\ao.h +file_053=C:\code\bacnet-stack\demo\object\device.h +file_054=C:\code\bacnet-stack\dcc.h +file_055=C:\code\bacnet-stack\bacstr.h +file_056=C:\code\bacnet-stack\bacapp.h +file_057=C:\code\bacnet-stack\rd.h +file_058=18f252.lkr [SUITE_INFO] suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416} suite_state= [TOOL_SETTINGS] TS{DD2213A8-6310-47B1-8376-9430CDFC013F}= TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /o"$(TARGETBASE).cof" -TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-DBACDL_MSTP -DTSM_ENABLED=0 -DPRINT_ENABLED=0 -mL +TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-DTSM_ENABLED=0 -DPRINT_ENABLED=0 -DBACDL_MSTP=1 -mL -pa=1 TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}= TS{DD2213A8-6310-47B1-8376-9430CDFC013F}001= TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}001=/o"$(TARGETBASE).cof" diff --git a/bacnet-stack/ports/pic18/bacnet.mcw b/bacnet-stack/ports/pic18/bacnet.mcw index fd4051421ed7660f312ceb7fb996cf0b0d1a2a32..a7740861455b2cc40b3928fde3e98bf221f04dd2 100644 GIT binary patch delta 1760 zcmY*ZZETZO6h60m>AJa&t)p8JL%PMl7_)Js$f8qggk(e$ATBVZF8g5FOjg#6V#o4^ zjzo0&N6IyZA5EN!$&8CaI?XgpQKK%#CH*mh=rkjlifoWECkzbC=Xtv(c-r&cbIv{I z+;h)!@9mpbeUs|+giYN&vumR|VRYt)XFj=dW&AspB_e(I>t5rCs!HB6vXyanX=zCt z_IkBR@3nWWcnl7HJ#JsKf)lm+s{KhzTGCb7(Rh7BAQuiT&8-L8BEC>-)DCUOp-A{p z1cDTTpMEsx^Z9}qm*#M|t2=Tq7=E#}swTLfI-DswJRA@VDr! z+9EbvS`HxHQ(tfJ{{_9xvbiNS=aSbueu_SC>k!5=PT^OM(Tlm+1(z5%^$(7Yb&Q&N5oiRyAd*|NG1$HrVSm(aEJn$jo^P)RmtMf7qeHUbpGa(_2TyPNf5%9v{bgmBgN*rh-_1C$@z*viz41UwdNBroE>hw2xqe|(c&WH5cE?4rLvqsr! zZTfb8w>{jO#Dz|Fue`17>C2t$E}Y+*KhQp4UG#zN?_<>6yKgVM>h3+SsP^QoJ>MG@ zRZ=5CX_01Wl>^cy5%Ea~S{UW9q<)maGmEQK@xt2ebJ!XCmhx|tlc+WUzVMOT+<(2) zqkP=%$ck!;i>7V&4J>4`-dck?vcEBYn1+tq%4v z9S;?iQA$SyWG7}k*92Wm2r>O^L)>h*q4OK7pBO}vTCiN@8zpklhZ_vHGTXngDo9-9 z&v*Jv+82FF=rxH#UPJoS4Sl3>-M$8{iBr!L#vM>!yjf}vA(Xq|Zg>kSF;B9dC5#Sq zjSV9?5KMj>t@r>ugczvFrADPrv;^L5vLyp8f7oJLLbH@j35=ChQVc7u=#U%OL$O=Vt7$xc=JkvXAxhX%U}|lEcrhR zv+!`%EH~ME^_FtLPNKZ?LJ!t}3_lX%9Pwjnb~$d$kv`P)Wpmgh1|*C9Aqx)%jTHOM z{ZeMuK~4hzydW3+e$?!x1BeS1ATfanzEi}KASUkB`m^o?YJ36 GQU3up#}+>T delta 2427 zcmeHIUu=_A6hB}4t?edb+s9fq7Dk6t>R=7vq6l>~j>RTwn32H5vVUzy3tNYyTeo?$ z)&zAiCT`q;n(P6@2NR7VB?c8T4FneB2qZ;#AQ2-8Mh1bg;TW*`J1s?`ulmN>emm!$ zbMCqKJHLDHqUV+9MP+|nm+=%4Jsmr(Tcqq%TV~gMl=tZD?~W^ac%2JmkJ_tz5WA%s z74=DYq-t2FRLEBiZ5a*>x64sOQN}7*TjUkP>Wmj*&B$fOaP?MLEkG*}1loXY!0SLe z5CUcri9`o)$*GCQK$*Bs#)QEy*7Jb@M;faYMAt~i;LkICM*;$ioUMlRTU55&V|Mz@lUBA86J zagFOyKVpu5#A-0+oOJzUBK|N*4any;KfJDKG^m~p*CH9~CwP(!Wpzb}G-48+*EPy~ z=ijT|Zdx54{p{QGTvZ^4$Dcx9MlM~u8)17nR`5e7;OmDbGShP7fFR34VZzQE?^?t@ zX%TzwSOnLZb0{9>_Jh5}JWeL>z{H;b>tt%D1xOk$BD#YDi@*9g3|@CXQr0?aLL;b~#!B>VzAl24u75stRvHce;qLYJ=K6S1rg^$Oa+Xs8?uYbpl$Z_B_@hM|r zohwV!xse^nboZpH_QPIUZ6*iw2v94mVi1~TBx6A2K4+x{RCyV;%V?%nXpTLr4hZIh zs~*9s>|?2QnMq}hITPL1lpi)T!MWJ2JUZ)$qL)8pmFIbIWrNgA0oqJ<@)N~|v!79P zpBv=#>~=%ym588yzw>nUyoE=wy&SQ7nbcC-d37pw>F$mP2KfgU#H!(NWQ6+ zR<}+tcRtxtki9(+A}ksEPx6Fu`B&3A(_2$8G$>T^uPuBe>0{Dyr!q zKIjl|_6xJ{UM~^szgTNd9?Yp758?)rqwqWGJv+f20sMSsN#2KA9Jswnk z$lHI&+o}|6i9`cPX6yoI3R--RH?Y9>*Gv4*vV41}(X$nIE7%;^Z1>9nwOpRcs*s0U gaxD+p`5$goQJS5{z|2cH`y0W|rPQsGCHZIm0tKJheESilenceTimer = 0; return; } @@ -140,6 +172,7 @@ void RS485_Transmit_Interrupt(void) data = RS485_Tx_Buffer[RS485_Tx_Index]; USART_TRANSMIT(data); MSTP_Port.SilenceTimer = 0; + } else { /* wait until the last bit is sent */ while (!USART_TX_EMPTY()); @@ -176,37 +209,6 @@ void RS485_Transmit_Interrupt(void) return; } -/**************************************************************************** -* DESCRIPTION: Processes the RS485 message to be sent -* RETURN: none -* ALGORITHM: none -* NOTES: none -*****************************************************************************/ -void RS485_Process_Tx_Message(void) -{ - if (RS485_Flags.TransmitComplete) - RS485_Flags.TransmitComplete = FALSE; - /* start a new transmisstion if we are ready */ - if (RS485_Flags.TransmitStart && (RS485_State == RS485_STATE_IDLE)) { - /* Disable the receiver */ - USART_RX_INT_DISABLE(); - USART_CONTINUOUS_RX_DISABLE(); - /* Enable the transmit line driver and interrupts */ - RS485_TRANSMIT_ENABLE(); - RS485_State = RS485_STATE_TX_DATA; - /* Configure the ISR handler for an outgoing message */ - RS485_Tx_Index = 0; - /* update the flags for beginning a send */ - RS485_Flags.TransmitComplete = FALSE; - RS485_Flags.TransmitStart = FALSE; - /* send the first byte */ - USART_TRANSMIT(RS485_Tx_Buffer[0]); - USART_TX_SETUP(); - } - - return; -} - /**************************************************************************** * DESCRIPTION: Returns the value of Transmit Complete flag. * RETURN: none