最简单的收发程序dw1000_api_rev2p02

所属分类:通讯编程
开发工具:C/C++
文件大小:1802KB
下载次数:6
上传日期:2020-07-20 13:11:32
上 传 者tsom
说明:  最简单的收发程序,可以用于超宽带测距,信道通信等等
(The simplest transceiver program can be used in UWB ranging, channel communication and so on)

文件列表:
decadriver (0, 2016-10-28)
decadriver\deca_device.c (118793, 2016-10-28)
decadriver\deca_device_api.h (71548, 2016-07-01)
decadriver\deca_params_init.c (3206, 2016-06-27)
decadriver\deca_param_types.h (1844, 2016-06-27)
decadriver\deca_regs.h (80935, 2016-10-28)
decadriver\deca_types.h (1125, 2016-02-15)
decadriver\deca_version.h (1182, 2016-10-28)
disclaimer.txt (3468, 2016-02-15)
DW1000_Software_API_Guide_rev2p1.pdf (1890406, 2016-07-22)
examples (0, 2016-06-27)
examples\ex_01a_simple_tx (0, 2016-06-27)
examples\ex_01a_simple_tx\main.c (6070, 2016-06-27)
examples\ex_01a_simple_tx\simple_tx.coproj (14653, 2016-06-27)
examples\ex_01b_tx_sleep (0, 2016-06-27)
examples\ex_01b_tx_sleep\main.c (7353, 2016-06-27)
examples\ex_01b_tx_sleep\tx_sleep.coproj (14651, 2016-06-27)
examples\ex_01c_tx_sleep_auto (0, 2016-06-27)
examples\ex_01c_tx_sleep_auto\main.c (7231, 2016-06-27)
examples\ex_01c_tx_sleep_auto\tx_sleep_auto.coproj (14661, 2016-06-27)
examples\ex_01d_tx_timed_sleep (0, 2016-06-27)
examples\ex_01d_tx_timed_sleep\main.c (8824, 2016-06-27)
examples\ex_01d_tx_timed_sleep\tx_timed_sleep.coproj (14663, 2016-06-27)
examples\ex_02a_simple_rx (0, 2016-06-27)
examples\ex_02a_simple_rx\main.c (5908, 2016-06-27)
examples\ex_02a_simple_rx\simple_rx.coproj (14653, 2016-06-27)
examples\ex_02b_rx_preamble_64 (0, 2016-06-27)
examples\ex_02b_rx_preamble_64\main.c (6396, 2016-06-27)
examples\ex_02b_rx_preamble_64\rx_preamble_64.coproj (14663, 2016-06-27)
examples\ex_02c_rx_diagnostics (0, 2016-06-27)
examples\ex_02c_rx_diagnostics\main.c (9145, 2016-06-27)
examples\ex_02c_rx_diagnostics\rx_diagnostics.coproj (14663, 2016-06-27)
examples\ex_02d_rx_sniff (0, 2016-06-27)
examples\ex_02d_rx_sniff\main.c (6567, 2016-06-27)
examples\ex_02d_rx_sniff\rx_sniff.coproj (14651, 2016-06-27)
examples\ex_02e_rx_dbl_buff (0, 2016-06-27)
examples\ex_02e_rx_dbl_buff\main.c (7077, 2016-06-27)
examples\ex_02e_rx_dbl_buff\rx_dbl_buff.coproj (14657, 2016-06-27)
examples\ex_03a_tx_wait_resp (0, 2016-06-27)
examples\ex_03a_tx_wait_resp\main.c (10290, 2016-06-27)
... ...

DW1000 Application Programming Interface (API) package is composed of the following folders: - decadriver: Driver for DW1000 chip. Details about each function provided here can be found in DW1000 API Guide. - examples: A set of individual examples showing how to achieve different simple features (sending a frame, receiving a frame, putting the DW1000 to sleep, etc.). - Libraries, Linkers: Hardware abstraction layer (system start-up code and peripherals' drivers) for ARM Cortex-M and ST STM32 F1 processors. Provided by ST Microelectronics. - platform: Platform dependant implementation of low-level features (IT management, mutex, sleep, etc). Please refer to DW1000 API Guide accompanying this package for more details about provided API and examples. NOTE: The DW1000 API included in this package is an unbundled version of the DW1000 driver. This version may differ from that bundled with Decawave's other products. ============================================================================= = = = Release Notes = = = ============================================================================= ============================================================================= Package v2.02 / Driver v4.0.2 (26th October 2016) ============================================================================= a) A bug was introduced in version 2.01, which meant that the configuration of non-standard SFD was not done correctly. This bug is corrected by this release. ============================================================================= Package v2.01 / Driver v4.0.1 (30th June 2016) ============================================================================= a) Refactored interrupt management in driver: - RX callback has been split in three different ones (good frames, timeout and errors). - "event", "aatset" and "dblbuff" fields in callback data structure have been removed as they are duplicates or can be maintained by user application. - Removed support of automatic RX re-enabling for both single buffering and double buffering mode. b) Removed dwt_checkoverrun and dwt_setautorxreenable APIs since automatic RX re-enabling is not supported anymore. c) Added new functions in API to set SNIFF mode (dwt_setsniffmode, replacing dwt_setrxmode) and low-power listening mode (dwt_setlowpowerlistening, dwt_setsnoozetime and dwt_lowpowerlistenisr). d) Ranging bit signalling: Added a parameter to dwt_writetxfctrl to provide for setting the "ranging" bit in TX frames. This is signaled in the PHY Header portion of the physical layer frame. The status of the "ranging" bit in RX frames is made available through the rx_flags field of callback data structure passed in the RX frame callback called by the dwt_isr() interrupt handler. NB: The DW1000 ignores this bit (i.e. it does not have to be set to enable TX and RX time-stamping). e) Added dwt_getinitxtaltrim API to get initial value of XTAL trim configured during initialisation. f) Removed range bias correction tables and API. This was a target platform specific implementation assuming LOS and is not a general solution for the DW1000. g) Changed API_ERROR_CHECK scheme to use asserts instead of function returns. h) Added proper defines to manage dwt_setleds parameter. i) Added the following options to dwt_rxenable parameter: - Make the RX enabling optional in the case that the API is used LATE (i.e. start time is deemed to be passed). - Make IC and host side RX buffer's pointers synchronisation optional. This is needed to perform manual RX re-enabling when in double buffering mode. This also allows to avoid wasting time doing it if we know we are not using double buffering. j) Added new API functions to allow single byte (8-bit) read/write accesses to DW1000 registers (dwt_read8bitoffsetreg and dwt_write8bitoffsetreg). k) Added new function in API to activate/deactivate fine grain TX sequencing (dwt_setfingraintxseq). Using this is necessary for correct operation of external PA management. l) Renamed dwt_setGPIOforEXTTRX API to dwt_setlnapamode and corrected the "PA mode" option. m) Changed the following API names (to make functions' names more consistent in the whole driver): - dwt_xtaltrim to dwt_setxtalrim - dwt_setGPIOdirection to dwt_setgpiodirection - dwt_setGPIOvalue to dwt_setgpiovalue - dwt_checkIRQ to dwt_checkirq n) Other minor bug fixes in driver. o) Added the following new examples: - 1d: TX with timed sleep - 2b: RX using preamble *** - 2c: RX with diagnostics - 2d: RX using SNIFF mode - 2e: RX using double buffering mode - 3c: TX then wait for response with GPIOs/LEDs - 3d: TX then wait for response using interrutps - 7a: Auto ACK TX - 7b: Auto ACK RX - 8a: Low-power listening RX - 8b: Low-power listening TX p) Added a preamble detect timeout in Double-Sided Two-Way-Ranging examples (ex_05a_ds_twr_init and ex_05b_ds_twr_resp). q) Changed all TWR examples (5a/5b/6a/6b) to correctly handle the LATE failure mode of the "delayed TX". Also added an RX reset in case of an error occurring in frame reception (e.g. PHY header error, or CRC error, etc). This is done to ensure a complete receiver recovery in the event of an RX error. r) Changed all existing examples to handle dwt_initialise returning a failure indication. s) Miscellaneous formatting/comment/typo fixes in driver and examples. ============================================================================= Package v1.01 / Driver v3.0.1 (3rd December 2015) ============================================================================= a) Initial release of DW1000 Driver and API unbundled from other applications, with some simple example projects. =============================================================================

近期下载者

相关文件


收藏者