Revision 8d4d058e test/periphery-lld/DW1000_v1/aos_test_DW1000.c

View differences:

test/periphery-lld/DW1000_v1/aos_test_DW1000.c
34 34
/* LOCAL DEFINITIONS                                                          */
35 35
/******************************************************************************/
36 36

  
37
//#define TEST_SNIPPETS_DW1000   // switch between test and demo apps
37
#define TEST_SNIPPETS_DW1000   // switch between test and demo apps
38 38

  
39 39
#define SWS1_SHF_MODE 0x02  //short frame mode (6.81M)
40 40
#define SWS1_CH5_MODE 0x04  //channel 5 mode
......
68 68
/* LOCAL FUNCTIONS                                                            */
69 69
/******************************************************************************/
70 70

  
71
/*! @brief Change the SPI speed configuration on the fly */
72
void setHighSpeed_SPI(bool speedValue, DW1000Driver* drv){
73

  
74
  spiStop(drv->spid);
75

  
76
  if (speedValue == FALSE){
77
    spiStart(drv->spid, &moduleHalSpiUwbLsConfig);  // low speed spi configuration
78
  }
79
  else{
80
    spiStart(drv->spid, &moduleHalSpiUwbHsConfig); // high speed spi configuration
81
  }
82
}
83

  
84
/*! @brief entry point to the IRQn event in DW1000 module
85
 *
86
 * */
87
void process_deca_irq(void){
88
  do{
89
    dwt_isr();
90
    //while IRS line active (ARM can only do edge sensitive interrupts)
91
  }while(port_CheckEXT_IRQ() == 1);
92
}
93

  
94
/*! @brief Check the current value of GPIO pin and return the value */
95
apalGpioState_t port_CheckEXT_IRQ(void) {
96
  apalGpioState_t  val;
97
  apalGpioRead(moduleGpioDw1000Irqn.gpio, &val);
98
  return val;
99
}
100

  
101
/*! @brief Manually set the chip select pin of the SPI */
102
void set_SPI_chip_select(void){
103
  apalGpioWrite(moduleGpioSpiChipSelect.gpio, APAL_GPIO_HIGH);
104
}
105

  
106
/*! @brief Manually reset the chip select pin of the SPI */
107
void clear_SPI_chip_select(void){
108
  apalGpioWrite(moduleGpioSpiChipSelect.gpio, APAL_GPIO_LOW);
109
}
110

  
111 71
/*! @brief Manually reset the DW1000 module  */
112 72
void reset_DW1000(void){
113 73

  
......
248 208
/******************************************************************************/
249 209

  
250 210

  
251
aos_testresult_t aosTestDw1000Func(BaseSequentialStream* stream, aos_test_t* test) {
211
aos_testresult_t aosTestDw1000Func(BaseSequentialStream* stream, const aos_test_t* test) {
212

  
213
  aosDbgCheck(test->data != NULL &&
214
      ((aos_test_dw1000data_t*)test->data)->driver != NULL &&
215
      ((aos_test_dw1000data_t*)test->data)->evtsource != NULL);
252 216

  
253
  aosDbgCheck(test->data != NULL && ((aos_test_dw1000data_t*)test->data)->driver != NULL);
254 217

  
255 218
  aos_testresult_t result = {0, 0};
256 219

  
......
393 356
  /*! Run the localization system demo app as a thread */
394 357
  while(1){
395 358
    instance_run();
396
//    aosThdUSleep(10);
359
//    aosThdUSleep(100);
397 360
  }
398 361

  
399 362
#endif  /* defined(TEST_SNIPPETS_DW1000) */

Also available in: Unified diff