22
22
#include "sam_ba_serial.h"
23
23
#include "board_driver_serial.h"
24
24
25
+ #if defined(SAM_BA_UART_ONLY ) || defined(SAM_BA_BOTH_INTERFACES )
26
+
25
27
/* Local reference to current Usart instance in use with this driver */
26
28
//struct usart_module usart_sam_ba;
27
29
@@ -200,49 +202,6 @@ uint32_t serial_getdata(void* data, uint32_t length)
200
202
return (1 );
201
203
}
202
204
203
- static const uint16_t crc16Table [256 ]=
204
- {
205
- 0x0000 ,0x1021 ,0x2042 ,0x3063 ,0x4084 ,0x50a5 ,0x60c6 ,0x70e7 ,
206
- 0x8108 ,0x9129 ,0xa14a ,0xb16b ,0xc18c ,0xd1ad ,0xe1ce ,0xf1ef ,
207
- 0x1231 ,0x0210 ,0x3273 ,0x2252 ,0x52b5 ,0x4294 ,0x72f7 ,0x62d6 ,
208
- 0x9339 ,0x8318 ,0xb37b ,0xa35a ,0xd3bd ,0xc39c ,0xf3ff ,0xe3de ,
209
- 0x2462 ,0x3443 ,0x0420 ,0x1401 ,0x64e6 ,0x74c7 ,0x44a4 ,0x5485 ,
210
- 0xa56a ,0xb54b ,0x8528 ,0x9509 ,0xe5ee ,0xf5cf ,0xc5ac ,0xd58d ,
211
- 0x3653 ,0x2672 ,0x1611 ,0x0630 ,0x76d7 ,0x66f6 ,0x5695 ,0x46b4 ,
212
- 0xb75b ,0xa77a ,0x9719 ,0x8738 ,0xf7df ,0xe7fe ,0xd79d ,0xc7bc ,
213
- 0x48c4 ,0x58e5 ,0x6886 ,0x78a7 ,0x0840 ,0x1861 ,0x2802 ,0x3823 ,
214
- 0xc9cc ,0xd9ed ,0xe98e ,0xf9af ,0x8948 ,0x9969 ,0xa90a ,0xb92b ,
215
- 0x5af5 ,0x4ad4 ,0x7ab7 ,0x6a96 ,0x1a71 ,0x0a50 ,0x3a33 ,0x2a12 ,
216
- 0xdbfd ,0xcbdc ,0xfbbf ,0xeb9e ,0x9b79 ,0x8b58 ,0xbb3b ,0xab1a ,
217
- 0x6ca6 ,0x7c87 ,0x4ce4 ,0x5cc5 ,0x2c22 ,0x3c03 ,0x0c60 ,0x1c41 ,
218
- 0xedae ,0xfd8f ,0xcdec ,0xddcd ,0xad2a ,0xbd0b ,0x8d68 ,0x9d49 ,
219
- 0x7e97 ,0x6eb6 ,0x5ed5 ,0x4ef4 ,0x3e13 ,0x2e32 ,0x1e51 ,0x0e70 ,
220
- 0xff9f ,0xefbe ,0xdfdd ,0xcffc ,0xbf1b ,0xaf3a ,0x9f59 ,0x8f78 ,
221
- 0x9188 ,0x81a9 ,0xb1ca ,0xa1eb ,0xd10c ,0xc12d ,0xf14e ,0xe16f ,
222
- 0x1080 ,0x00a1 ,0x30c2 ,0x20e3 ,0x5004 ,0x4025 ,0x7046 ,0x6067 ,
223
- 0x83b9 ,0x9398 ,0xa3fb ,0xb3da ,0xc33d ,0xd31c ,0xe37f ,0xf35e ,
224
- 0x02b1 ,0x1290 ,0x22f3 ,0x32d2 ,0x4235 ,0x5214 ,0x6277 ,0x7256 ,
225
- 0xb5ea ,0xa5cb ,0x95a8 ,0x8589 ,0xf56e ,0xe54f ,0xd52c ,0xc50d ,
226
- 0x34e2 ,0x24c3 ,0x14a0 ,0x0481 ,0x7466 ,0x6447 ,0x5424 ,0x4405 ,
227
- 0xa7db ,0xb7fa ,0x8799 ,0x97b8 ,0xe75f ,0xf77e ,0xc71d ,0xd73c ,
228
- 0x26d3 ,0x36f2 ,0x0691 ,0x16b0 ,0x6657 ,0x7676 ,0x4615 ,0x5634 ,
229
- 0xd94c ,0xc96d ,0xf90e ,0xe92f ,0x99c8 ,0x89e9 ,0xb98a ,0xa9ab ,
230
- 0x5844 ,0x4865 ,0x7806 ,0x6827 ,0x18c0 ,0x08e1 ,0x3882 ,0x28a3 ,
231
- 0xcb7d ,0xdb5c ,0xeb3f ,0xfb1e ,0x8bf9 ,0x9bd8 ,0xabbb ,0xbb9a ,
232
- 0x4a75 ,0x5a54 ,0x6a37 ,0x7a16 ,0x0af1 ,0x1ad0 ,0x2ab3 ,0x3a92 ,
233
- 0xfd2e ,0xed0f ,0xdd6c ,0xcd4d ,0xbdaa ,0xad8b ,0x9de8 ,0x8dc9 ,
234
- 0x7c26 ,0x6c07 ,0x5c64 ,0x4c45 ,0x3ca2 ,0x2c83 ,0x1ce0 ,0x0cc1 ,
235
- 0xef1f ,0xff3e ,0xcf5d ,0xdf7c ,0xaf9b ,0xbfba ,0x8fd9 ,0x9ff8 ,
236
- 0x6e17 ,0x7e36 ,0x4e55 ,0x5e74 ,0x2e93 ,0x3eb2 ,0x0ed1 ,0x1ef0
237
- };
238
-
239
- //*----------------------------------------------------------------------------
240
- //* \brief Compute the CRC
241
- //*----------------------------------------------------------------------------
242
- unsigned short serial_add_crc (char ptr , unsigned short crc )
243
- {
244
- return (crc << 8 ) ^ crc16Table [((crc >> 8 ) ^ ptr ) & 0xff ];
245
- }
246
205
247
206
//*----------------------------------------------------------------------------
248
207
//* \brief
@@ -532,3 +491,48 @@ uint32_t serial_getdata_xmd(void* data, uint32_t length)
532
491
// return(b_run);
533
492
}
534
493
494
+ #endif
495
+
496
+ static const uint16_t crc16Table [256 ]=
497
+ {
498
+ 0x0000 ,0x1021 ,0x2042 ,0x3063 ,0x4084 ,0x50a5 ,0x60c6 ,0x70e7 ,
499
+ 0x8108 ,0x9129 ,0xa14a ,0xb16b ,0xc18c ,0xd1ad ,0xe1ce ,0xf1ef ,
500
+ 0x1231 ,0x0210 ,0x3273 ,0x2252 ,0x52b5 ,0x4294 ,0x72f7 ,0x62d6 ,
501
+ 0x9339 ,0x8318 ,0xb37b ,0xa35a ,0xd3bd ,0xc39c ,0xf3ff ,0xe3de ,
502
+ 0x2462 ,0x3443 ,0x0420 ,0x1401 ,0x64e6 ,0x74c7 ,0x44a4 ,0x5485 ,
503
+ 0xa56a ,0xb54b ,0x8528 ,0x9509 ,0xe5ee ,0xf5cf ,0xc5ac ,0xd58d ,
504
+ 0x3653 ,0x2672 ,0x1611 ,0x0630 ,0x76d7 ,0x66f6 ,0x5695 ,0x46b4 ,
505
+ 0xb75b ,0xa77a ,0x9719 ,0x8738 ,0xf7df ,0xe7fe ,0xd79d ,0xc7bc ,
506
+ 0x48c4 ,0x58e5 ,0x6886 ,0x78a7 ,0x0840 ,0x1861 ,0x2802 ,0x3823 ,
507
+ 0xc9cc ,0xd9ed ,0xe98e ,0xf9af ,0x8948 ,0x9969 ,0xa90a ,0xb92b ,
508
+ 0x5af5 ,0x4ad4 ,0x7ab7 ,0x6a96 ,0x1a71 ,0x0a50 ,0x3a33 ,0x2a12 ,
509
+ 0xdbfd ,0xcbdc ,0xfbbf ,0xeb9e ,0x9b79 ,0x8b58 ,0xbb3b ,0xab1a ,
510
+ 0x6ca6 ,0x7c87 ,0x4ce4 ,0x5cc5 ,0x2c22 ,0x3c03 ,0x0c60 ,0x1c41 ,
511
+ 0xedae ,0xfd8f ,0xcdec ,0xddcd ,0xad2a ,0xbd0b ,0x8d68 ,0x9d49 ,
512
+ 0x7e97 ,0x6eb6 ,0x5ed5 ,0x4ef4 ,0x3e13 ,0x2e32 ,0x1e51 ,0x0e70 ,
513
+ 0xff9f ,0xefbe ,0xdfdd ,0xcffc ,0xbf1b ,0xaf3a ,0x9f59 ,0x8f78 ,
514
+ 0x9188 ,0x81a9 ,0xb1ca ,0xa1eb ,0xd10c ,0xc12d ,0xf14e ,0xe16f ,
515
+ 0x1080 ,0x00a1 ,0x30c2 ,0x20e3 ,0x5004 ,0x4025 ,0x7046 ,0x6067 ,
516
+ 0x83b9 ,0x9398 ,0xa3fb ,0xb3da ,0xc33d ,0xd31c ,0xe37f ,0xf35e ,
517
+ 0x02b1 ,0x1290 ,0x22f3 ,0x32d2 ,0x4235 ,0x5214 ,0x6277 ,0x7256 ,
518
+ 0xb5ea ,0xa5cb ,0x95a8 ,0x8589 ,0xf56e ,0xe54f ,0xd52c ,0xc50d ,
519
+ 0x34e2 ,0x24c3 ,0x14a0 ,0x0481 ,0x7466 ,0x6447 ,0x5424 ,0x4405 ,
520
+ 0xa7db ,0xb7fa ,0x8799 ,0x97b8 ,0xe75f ,0xf77e ,0xc71d ,0xd73c ,
521
+ 0x26d3 ,0x36f2 ,0x0691 ,0x16b0 ,0x6657 ,0x7676 ,0x4615 ,0x5634 ,
522
+ 0xd94c ,0xc96d ,0xf90e ,0xe92f ,0x99c8 ,0x89e9 ,0xb98a ,0xa9ab ,
523
+ 0x5844 ,0x4865 ,0x7806 ,0x6827 ,0x18c0 ,0x08e1 ,0x3882 ,0x28a3 ,
524
+ 0xcb7d ,0xdb5c ,0xeb3f ,0xfb1e ,0x8bf9 ,0x9bd8 ,0xabbb ,0xbb9a ,
525
+ 0x4a75 ,0x5a54 ,0x6a37 ,0x7a16 ,0x0af1 ,0x1ad0 ,0x2ab3 ,0x3a92 ,
526
+ 0xfd2e ,0xed0f ,0xdd6c ,0xcd4d ,0xbdaa ,0xad8b ,0x9de8 ,0x8dc9 ,
527
+ 0x7c26 ,0x6c07 ,0x5c64 ,0x4c45 ,0x3ca2 ,0x2c83 ,0x1ce0 ,0x0cc1 ,
528
+ 0xef1f ,0xff3e ,0xcf5d ,0xdf7c ,0xaf9b ,0xbfba ,0x8fd9 ,0x9ff8 ,
529
+ 0x6e17 ,0x7e36 ,0x4e55 ,0x5e74 ,0x2e93 ,0x3eb2 ,0x0ed1 ,0x1ef0
530
+ };
531
+
532
+ //*----------------------------------------------------------------------------
533
+ //* \brief Compute the CRC
534
+ //*----------------------------------------------------------------------------
535
+ unsigned short serial_add_crc (char ptr , unsigned short crc )
536
+ {
537
+ return (crc << 8 ) ^ crc16Table [((crc >> 8 ) ^ ptr ) & 0xff ];
538
+ }
0 commit comments