Ngoc Trong Nghia NGUYEN / DWM_API
Committer:
nguyentony
Date:
Mon Mar 25 20:46:14 2019 +0000
Revision:
1:c13dab1b7b93
Parent:
0:bb732ce5e423
add description, delete unused file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nguyentony 1:c13dab1b7b93 1 /*
nguyentony 1:c13dab1b7b93 2 * @author: NGUYEN Ngoc Trong Nghia
nguyentony 1:c13dab1b7b93 3 * @brief: a simple library to get the coordinates x,y,z of a DWM1001 tag
nguyentony 1:c13dab1b7b93 4 */
nguyentony 0:bb732ce5e423 5 #ifndef _DWM_UART_H_
nguyentony 0:bb732ce5e423 6 #define _DWM_UART_H_
nguyentony 0:bb732ce5e423 7 #include "mbed.h"
nguyentony 0:bb732ce5e423 8
nguyentony 0:bb732ce5e423 9 #define HAL_UART_MAX_LENGTH 255
nguyentony 0:bb732ce5e423 10 #define DWM_WRITE_TIMEOUT 600 //us
nguyentony 0:bb732ce5e423 11 #define DWM_READ_TIMEOUT 3 //ms
nguyentony 0:bb732ce5e423 12
nguyentony 0:bb732ce5e423 13 /**
nguyentony 0:bb732ce5e423 14 * @brief DWM Error codes, returned from DWM1001 module
nguyentony 0:bb732ce5e423 15 */
nguyentony 0:bb732ce5e423 16 #define DWM_OK (0)
nguyentony 0:bb732ce5e423 17 #define DWM_ERR_INTERNAL (-1)
nguyentony 0:bb732ce5e423 18 #define DWM_ERR_BUSY (-2)
nguyentony 0:bb732ce5e423 19 #define DWM_ERR_INVAL_ADDR (-3)
nguyentony 0:bb732ce5e423 20 #define DWM_ERR_INVAL_PARAM (-4)
nguyentony 0:bb732ce5e423 21 #define DWM_ERR_OVERRUN (-5)
nguyentony 0:bb732ce5e423 22 #define DWM_ERR_I2C_ANACK (-10)
nguyentony 0:bb732ce5e423 23 #define DWM_ERR_I2C_DNACK (-11)
nguyentony 0:bb732ce5e423 24
nguyentony 0:bb732ce5e423 25 /**
nguyentony 0:bb732ce5e423 26 * @brief Return value Error codes, returned from DWM API functions
nguyentony 0:bb732ce5e423 27 */
nguyentony 0:bb732ce5e423 28 #define RV_OK 0 /* ret value OK */
nguyentony 0:bb732ce5e423 29 #define RV_ERR -1
nguyentony 0:bb732ce5e423 30 #define RV_TIME -2 /* ret value ERROR*/
nguyentony 0:bb732ce5e423 31
nguyentony 0:bb732ce5e423 32 typedef struct {
nguyentony 0:bb732ce5e423 33 int32_t x;
nguyentony 0:bb732ce5e423 34 int32_t y;
nguyentony 0:bb732ce5e423 35 int32_t z;
nguyentony 0:bb732ce5e423 36 uint8_t qf;
nguyentony 0:bb732ce5e423 37 } dwm_pos;
nguyentony 0:bb732ce5e423 38
nguyentony 0:bb732ce5e423 39
nguyentony 0:bb732ce5e423 40 class dwm
nguyentony 0:bb732ce5e423 41 {
nguyentony 0:bb732ce5e423 42 public:
nguyentony 0:bb732ce5e423 43 dwm(PinName tx_pin, PinName rx_pin, int baudrate);
nguyentony 0:bb732ce5e423 44 dwm_pos node_pos;
nguyentony 0:bb732ce5e423 45 /*====================================================
nguyentony 0:bb732ce5e423 46 * API
nguyentony 0:bb732ce5e423 47 * ===================================================
nguyentony 0:bb732ce5e423 48 */
nguyentony 0:bb732ce5e423 49
nguyentony 0:bb732ce5e423 50 /*
nguyentony 0:bb732ce5e423 51 * @brief: la commande dans l'exemple du doc, pour tester
nguyentony 0:bb732ce5e423 52 * @param: non
nguyentony 0:bb732ce5e423 53 * @output: 0 - reussi
nguyentony 0:bb732ce5e423 54 * 1 - echec
nguyentony 0:bb732ce5e423 55 */
nguyentony 0:bb732ce5e423 56 int dwm_gpio_cfg_output();
nguyentony 0:bb732ce5e423 57 /*
nguyentony 0:bb732ce5e423 58 * @brief: recuperer la position x, y, z, qui seront stockes dans pos
nguyentony 0:bb732ce5e423 59 * @param: la struc dwm_pos
nguyentony 0:bb732ce5e423 60 * @output: 0 - reussi
nguyentony 0:bb732ce5e423 61 * 1 - echec
nguyentony 0:bb732ce5e423 62 */
nguyentony 0:bb732ce5e423 63 int dwm_pos_get();
nguyentony 0:bb732ce5e423 64 //======================================
nguyentony 0:bb732ce5e423 65 // PRIVATE
nguyentony 0:bb732ce5e423 66 //=====================================
nguyentony 0:bb732ce5e423 67 private:
nguyentony 0:bb732ce5e423 68 Serial dwm_uart;
nguyentony 0:bb732ce5e423 69
nguyentony 0:bb732ce5e423 70 //vider le buffer rx de nucleo
nguyentony 0:bb732ce5e423 71 void flushSerialBuffer();
nguyentony 0:bb732ce5e423 72 /*
nguyentony 0:bb732ce5e423 73 * @brief: envoyer la commande
nguyentony 0:bb732ce5e423 74 * @param: *tx_buffer - le tableau pour la commande
nguyentony 0:bb732ce5e423 75 len - la longeur du commande
nguyentony 0:bb732ce5e423 76 * @output: 0 - reussi
nguyentony 0:bb732ce5e423 77 * -1 - echec
nguyentony 0:bb732ce5e423 78 */
nguyentony 0:bb732ce5e423 79 int uart_write(uint8_t* tx_buffer, uint8_t len);
nguyentony 0:bb732ce5e423 80 /*
nguyentony 0:bb732ce5e423 81 * @brief: recevoir la commande
nguyentony 0:bb732ce5e423 82 * @param: *rx_buffer - la reponse est stocke dans rx_buffer
nguyentony 0:bb732ce5e423 83 * @output: la longeur de la reponse
nguyentony 0:bb732ce5e423 84 * -1 - echec
nguyentony 0:bb732ce5e423 85 */
nguyentony 0:bb732ce5e423 86 int uart_read(uint8_t* rx_buffer, int len_prevu);
nguyentony 0:bb732ce5e423 87 };
nguyentony 0:bb732ce5e423 88 #endif //_DWM_UART_H_