GithubHelp home page GithubHelp logo

decawave / mynewt-dw1000-apps Goto Github PK

View Code? Open in Web Editor NEW
30.0 30.0 22.0 28.9 MB

[DEPRECATED] Use https://github.com/Decawave/uwb-apps for new designs.

License: Apache License 2.0

C 89.42% MATLAB 2.02% Python 5.71% C++ 0.31% CMake 2.05% Makefile 0.49%

mynewt-dw1000-apps's People

Contributors

anantharaman-93 avatar ncasaril avatar pkettle avatar rmadhuraj avatar tnirupama avatar ybdecawave avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mynewt-dw1000-apps's Issues

twr_tag_tdma_ota_ble build error

hi,
I try the example twr_tag_tdma_ota_ble, when build error, the information as following:

justinlee@justinlee:~/mynewt/mynewt-dw1000-apps$ newt build tag
Warning: Package "/home/justinlee/mynewt/mynewt-dw1000-apps/apps/depreciated/lwip_p2p_rx" > > has incorrect "pkg.name" field in its pkg.yml file (pkg.name=apps/lwip_p2p_rx); ignoring package.
Warning: Package "/home/justinlee/mynewt/mynewt-dw1000-apps/apps/depreciated/lwip_p2p_tx" > > has incorrect "pkg.name" field in its pkg.yml file (pkg.name=apps/lwip_p2p_tx); ignoring package.
Building target targets/tag
Error: Unsatisfied APIs detected:
ble_transport, required by: nimble/host

Unsatisfied APIs detected

Hi, all

I'm trying to build dwm1001_listener application on MacOS. Mynewt version is 1.5. It gave the error:
Error: Unsatisfied APIs detected: * UWB_CIR_HW_IMPL, required by: lib/cir
What shall I do to fix this issue?

Newt issue

Hi,

I'm trying to do the first step to compile some projects with newt but I get the folowing error

newt

I'm on windows, do you have any idea of what could be the reason ?

thx in advance,
Vilucas

newt load command taking too much time

Hello,

I erased the default flash image using JLink. Now, while loading the bootloader as per gievn guideline on github, it is stuck at point . I have shown here the verbose that I got 👎

newt load dwm1001_boot -v
Loading bootloader
Load command: E:/Projects/RTLS/nRF/GitCodes/mynewt-dw1000-apps/repos/mynewt-dw1000-core/hw/bsp/dwm1001/dwm1001_download.cmd E:/Projects/RTLS/nRF/GitCodes/mynewt-dw1000-apps/repos/mynewt-dw1000-core/hw/bsp/dwm1001 bin\targets\dwm1001_boot\app\apps\boot\boot
Environment:

  • BOOT_LOADER=1
  • FEATURES=BASELIBC_PRESENT BOOT_LOADER BSP_NRF52 CONSOLE_UART_BAUD CONSOLE_UART_DEV CONSOLE_UART_FLOW_CONTROL DW1000_DEVICE_0_IRQ DW1000_DEVICE_0_RST DW1000_DEVICE_0_RX_ANT_DLY DW1000_DEVICE_0_SS DW1000_DEVICE_0_TX_ANT_DLY DW1000_DEVICE_BAUDRATE_HIGH DW1000_DEVICE_BAUDRATE_LOW FLASH_MAP_MAX_AREAS HAL_FLASH_VERIFY_BUF_SZ I2C_0_FREQ_KHZ I2C_1_FREQ_KHZ I2C_1_PIN_SCL I2C_1_PIN_SDA MBEDTLS_AES_C MBEDTLS_BASE64_C MBEDTLS_ECP_DP_SECP224R1 MBEDTLS_ENTROPY_C MBEDTLS_PKCS1_V15 MBEDTLS_PKCS1_V21 MCU_DCDC_ENABLED MCU_FLASH_MIN_WRITE_SIZE MCU_NRF52832 MSYS_1_BLOCK_SIZE NFC_PINS_AS_GPIO OS_CPUTIME_FREQ OS_CTX_SW_STACK_GUARD OS_IDLE_TICKLESS_MS_MAX OS_IDLE_TICKLESS_MS_MIN OS_MAIN_STACK_SIZE OS_MAIN_TASK_PRIO OS_SYSVIEW_TRACE_CALLOUT OS_SYSVIEW_TRACE_EVENTQ OS_SYSVIEW_TRACE_MUTEX OS_SYSVIEW_TRACE_SEM QSPI_FLASH_SECTOR_COUNT QSPI_PIN_CS QSPI_PIN_DIO0 QSPI_PIN_DIO1 QSPI_PIN_DIO2 QSPI_PIN_DIO3 QSPI_PIN_SCK SANITY_INTERVAL SPI_0_MASTER_PIN_MISO SPI_0_MASTER_PIN_MOSI SPI_0_MASTER_PIN_SCK TIMER_0 UARTBB_0_PIN_RX UARTBB_0_PIN_TX UART_0_PIN_CTS UART_0_PIN_RTS UART_0_PIN_RX UART_0_PIN_TX UART_1_PIN_CTS UART_1_PIN_RTS WATCHDOG_INTERVAL XTAL_32768
  • FLASH_OFFSET=0x0
  • IMAGE_SLOT=0
  • CORE_PATH=E:/Projects/RTLS/nRF/GitCodes/mynewt-dw1000-apps/repos/apache-mynewt-core
  • BSP_PATH=E:/Projects/RTLS/nRF/GitCodes/mynewt-dw1000-apps/repos/mynewt-dw1000-core/hw/bsp/dwm1001
  • BIN_BASENAME=bin\targets\dwm1001_boot\app\apps\boot\boot

After this, nothing is happening . How much time does it takes to upload the bootloader?

Thanks & Regards
Asmita

build errors while building tag_mesh

hi @ncasaril
i am trying to build tag_mesh tapp,i am getting following build errors.


Error: repos/apache-mynewt-nimble/nimble/host/src/ble_sm.c: In function 'ble_sm_key_exch_exec':
repos/apache-mynewt-nimble/nimble/host/src/ble_sm.c:2054:30: error: taking address of packed member of 'struct ble_sm_master_id' may result in an unaligned pointer value [-Werror=address-of-packed-member]
 2054 |         rc = ble_sm_gen_ediv(&master_id->ediv);
      |                              ^~~~~~~~~~~~~~~~
repos/apache-mynewt-nimble/nimble/host/src/ble_sm.c:2059:40: error: taking address of packed member of 'struct ble_sm_master_id' may result in an unaligned pointer value [-Werror=address-of-packed-member]
 2059 |         rc = ble_sm_gen_master_id_rand(&master_id->rand_val);
      |                                        ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

can you please help me solving this issue.

thanks
manoj

Query related to twr_node_tdma and twr_tag_tdma

Hello,

I am trying with mynewt based firmware as given on site https://github.com/Decawave/mynewt-dw1000-apps
I have successfully performed each and every step as given.
I have connected battery to tag and node is connected to PC. I am getting output as given here:
I am unable to see any ranging information.

asmita@asmita-Lenovo-G50-80:~$ telnet localhost 19021
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SEGGER J-Link V6.46g - Real time terminal output
J-Link OB-STM32F072-128KB-CortexM compiled Jan 7 2019 14:08:04 V1.0, SN=760085218
Process: JLinkGDBServerCLExe
{"utime": 1640,"msg": "dw1000_dev_init"}
{"utime": 2046,"msg": "dw1000_pkg_init"}
{"utime": 10055,"msg": "ccp_pkg_init"}
{"utime": 10686,"msg": "tdma_pkg_init"}
{"utime": 11376,"msg": "pan_pkg_init"}
{"utime": 11710,"msg": "rng_pkg_init"}
{"utime": 12026,"msg": "twr_ss_pkg_init"}
{"utime": 12331,"msg": "twr_ds_pkg_init"}
{"utime": 12637,"msg": "twr_ds_ext_pkg_init"}
{"utime": 18684,"exec": "apps/twr_node_tdma/src/main.c"}
{"utime": 18684,"msg": "device_id = 0xDECA0130"}
{"utime": 18684,"msg": "PANID = 0xDECA"}
{"utime": 18684,"msg": "DeviceID = 0x4300"}
{"utime": 18684,"msg": "partID = 0xD4044300"}
{"utime": 18684,"msg": "lotID = 0x4325100"}
{"utime": 18684,"msg": "xtal_trim = 0x17"}
{"utime": 18684,"msg": "frame_duration = 195 usec"}
{"utime": 18684,"msg": "SHR_duration = 139 usec"}
{"utime": 18684,"msg": "holdoff = 821 usec"}

After this nothing is happening, I am unable to see any ranging information. Is there something I am doing wrong?
Kindly suggest.

Thanks & Regards
Asmita

SlotIndex_mex undefined

Hi@pkettle ,
I run 'nrange_stats.m' on matlab for testing twr_nranges_tdma,but got a error report that
'SlotIndex_mex undefined'.And I can find the function 'SlotIndex_mex'.
Where can I find it?
thanks.

What causes these periodic transmission sleeps?

Dear Decawave Dev Team,

A week ago I posted this question in the Decawave Tech Forum, but we haven't got any answer so far.

For this reason, I am opening an issue here.

We are basing our work on the twr_nranges_tdma application.

We have noticed that our tag experiences short interruptions (sleeps) in the reception of range measurements from the anchors every 2 minutes approximately. This symptom is shown in the next image:

dw1000-sleep-1
Note: The JSON frames visible in the image are a custom implementation that sends time, node IDs and ranges.

The red arrows are about 2 min 15 sec apart, and each of the sleep events lasts for roughly 5 seconds.

We have also detected that when these sleep events occur, two special JSON objects with a "msg" field appear in our UART console, as shown in the following image:

dw1000-sleep-2

Our particular use case requires a constant uninterrupted feed of ranging measurements, so we cannot afford having interruptions like these.

What causes these periodic sleeps? Would it be possible to configure the network to transmit uninterruptedly to avoid these sleeps?

This is the configuration we are using for the network:

Master node configuration:

newt target create master_node
newt target set master_node app=apps/twr_nranges_tdma
newt target set master_node bsp=@mynewt-dw1000-core/hw/bsp/dwm1001
newt target amend master_node syscfg=PANMASTER_ISSUER=1
newt run master_node 0.1.0

Slave nodes configuration:

newt target create slave_node
newt target set slave_node app=apps/twr_nranges_tdma
newt target set slave_node bsp=@mynewt-dw1000-core/hw/bsp/dwm1001
newt target amend slave_node syscfg=NRANGES_ANCHOR=1
newt run slave_node 0.1.0

Tag configuration:

newt target create tag
newt target set tag app=apps/twr_nranges_tdma
newt target set tag bsp=@mynewt-dw1000-core/hw/bsp/dwm1001
newt target set tag build_profile=debug
newt target amend tag syscfg=NRNG_NNODES=16:NRNG_NFRAMES=32:NODE_START_SLOT_ID=0:NODE_END_SLOT_ID=15
newt run tag 0.1.0

Thank you very much.

Álvaro

WCS skew is too large

Hi,
When I'm running twr_tag_tdma example on dwm1001-dev unit. And I got the following prints:
{"utime": 381881522,"wcs": [756219038800,756219038800,21142948563],"skew": 13749637079700078592}
{"utime": 382956979,"wcs": [824938515536,824938515536,28148686594],"skew": 13749634694852116480}
{"utime": 384032446,"wcs": [893657992272,893657992272,348867892798],"skew": 13749632101107892224}
{"utime": 385107892,"wcs": 962377469008,962377469008,417587099146]"skew": 13749629597008265216}
{"utime": 386183351,"wcs": [10310694574,1031096945744,486306305736],"skew": 13749626339342680064}
{"utime": 387258829,"wcs": [304794704,304794704,555025512487],"skew": 13749623249436409856}
{"utime": 388334258,"wcs": [69024271440,69024271440623744719364],"skew": 13749620568909414400}
{"utime": 389409715,"wcs": [137743748176,137743748176,692463926443],"skew": 13749617536172294144}
{"utime": 390485182,"wcs": [206463224912,206463224912,7611831362],"skew": 13749614779102658560}
{"utime": 391560629,"wc": [275182701648,275182701648,829902341019],"skew": 13749612222865997824}
{"utime": 392636086,"wcs": [343902178384,343902178384,89621548535],"skew": 13749609622223716352}
{"utime": 393711553,"wcs" [412621655120,412621655120,967340756213],"skew": 13749606961007820800}
{"utime": 394787000,"wcs": [481341131856,481341131856,103605996409],"skew": 13749604288483295232}
{"utime": 395862464,"wcs": [550060608592,550060608592,5267544283],"skew": 13749601474433777664}
{"utime": 396937931,"wcs": [61878005328,618780085328,73986752540],"skew":13749597965407748096}
{"utime": 398013377,"wcs": [687499562064,687499562064,142705960884],"skew": 13749595321017303040}
{"utime": 399088834,"wcs": [756219038800,756219038800,211425169398],"skew": 13749592575692767232}
{"utime": 400164300,"wcs": [824938515536,824938515536,280144378046],"skew": 13749590055262093312}
{"utime": 401239748,"wcs": [893657992272,893657992272,38863586862],"skew": 1374958399715061760}
{"utime": 402315206,"wcs": [962377469008,962377469008,417582795806],"skew": 13749584978140200960}
{"utime": 403390672,"wcs": [1031096945744,1031096945744,48630004929],"skew": 1374958228700189248}
{"utime": 404466131,"wcs": [304794704,304794703,555021214185],"skew": 13749579790811660288}
{"utime": 405541571,"wcs": [6902427140,69024271440,623740423615],"skew": 13749577084459548672}
{"utime": 406617038,"wcs": [137743748176,137743748176,692459633199],"sew": 13749574400915537920}
{"utime": 407692485,"wcs": [206463224912,206463224912,761178843017],"skew": 13749571074975858688}
{"utime": 408767943,"wcs": [275182701648,275182701648,829898052970],"skew": 13749568144594173952}
{"utime": 409843410,"wcs": [343902178384,343902178384,898617263158],"skew": 13749564664639913984}
{"utime": 410918856"wcs": [412621655120,412621655120,967336473411],"skew": 13749562228162166784}
{"utime": 411994313,"wcs": [481341131856,481341131856,1036055683636],"skew": 13749561253940166656}
{"utime": 413069787,"wcs": [550060608592,550060608592,5263266546],"skew": 13749557199169650688}
{"utime": 414145234,"wcs": [618780085328,618780085328,73982477245],"skew": 13749554776515018752}
{"utime": 415220691,"wcs": [687499562064,687499562064,142701687918],"skew": 13749553776078618624}
{"utime": 416296158,"wcs" [756219038800,756219038800,211420899080],"skw": 13749549457919705088}

Why the skew is so big? What's the normal skew value?

Regards
Feng

openThreadApp not working

Hi
I was trying to work with the openThreadApp, followed the steps properly, faced no issues until I had to run the 'newt build openThreadApp'- several errors started to appear one after the other, tried to resolve a few but wasn't enough.
I have observed that there have been recent changes in both the dwm100-core and apps repository.
Is there anything I can try to solve this issue

Compile error on Mac

Hi,

I've tried to build the twr_tag_tdma application. Everything went well until step 6 when I type the command

newt run twr_tag_tdma 0

I got a compile error message as follows

Screen Shot 2562-03-13 at 13 59 27

and the build process stopped.

I'm using Mac Mojave version 10.14.3.

Thank you in advance.
Charuwalee

Error in newt run twr_tag_tdma 0

Hello,
I am trying to flash DWM1001-dev kit with mynewt based firmware image as given on https://github.com/Decawave/mynewt-dw1000-apps.
I am successfully able to newt load boot image using Ubuntu16.04 but I am getting error at

newt run twr_tag_tdma 0

Error is:

Copying /home/asmita/Desktop/Asmita/newtProjects/mynewt-dw1000-apps/bin/targets/twr_tag_tdma/app/lib/timescale/timescale_m4_hardfloat/libtimescale_core.a
Error: repos/mynewt-dw1000-core/lib/pan/src/pan.c:129:5: error: initializer element is not constant
.rx_timeout_period = MYNEWT_VAL(PAN_RX_TIMEOUT), // Receive response timeout in usec.
^
repos/mynewt-dw1000-core/lib/pan/src/pan.c:129:5: error: (near initialization for 'g_config.rx_timeout_period')

Kindly suggest. It would be very helpful.

Thanks & Regards
Asmita

Query related twr_tag_nranges_tdma

I ran the main.c of the twr_tag_nranges_tdma application. I used 1 tag and 1 node.
I'm getting the expected output.

OUTPUT:

{"utime": 18724444,"nrng": {"seq": 133,"mask": 1,"rng": [1047851887],"tdoa": [0]}}
{"utime": 18737894,"nrng": {"seq": 134,"mask": 1,"rng": [1042658236],"tdoa": [0]}}
{"utime": 18751337,"nrng": {"seq": 135,"mask": 1,"rng": [1044546836],"tdoa": [0]}}
{"utime": 18764774,"nrng": {"seq": 136,"mask": 1,"rng": [1046907587],"tdoa": [0]}}
{"utime": 18791667,"nrng": {"seq": 138,"mask": 1,"rng": [1044074686],"tdoa": [0]}}
{"utime": 18805103,"nrng": {"seq": 139,"mask": 1,"rng": [1041713936],"tdoa": [0]}}
{"utime": 18818546,"nrng": {"seq": 140,"mask": 1,"rng": [1041399169],"tdoa": [0]}}
{"utime": 18845439,"nrng": {"seq": 142,"mask": 1,"rng": [1045648520],"tdoa": [0]}}
{"utime": 18858876,"nrng": {"seq": 143,"mask": 1,"rng": [1042973003],"tdoa": [0]}}
{"utime": 18872319,"nrng": {"seq": 144,"mask": 1,"rng": [1044704220],"tdoa": [0]}}
{"utime": 18885769,"nrng": {"seq": 145,"mask": 1,"rng": [1042658236],"tdoa": [0]}}
{"utime": 18899206,"nrng": {"seq": 146,"mask": 1,"rng": [1044389453],"tdoa": [0]}}
{"utime": 18926099,"nrng": {"seq": 148,"mask": 1,"rng": [1041871319],"tdoa": [0]}}
{"utime": 18939542,"nrng": {"seq": 149,"mask": 1,"rng": [1040612252],"tdoa": [0]}}
{"utime": 18966422,"nrng": {"seq": 151,"mask": 1,"rng": [1044389453],"tdoa": [0]}}

My query is I'm not able to find the print statement which outputs the above statement in the code. I tried searching everywhere. I don't know where the twr calculation is being done.

I'm a beginner, please forgive if the query is unintelligent.

newt install error

Hi,
When I input a "newt install" order,once mynet-core download completed,error reports:
Error: Error downloading repository apache-mynewt-core: No remote upstream for branch "master".How could I deal with it?
Thanks.

compile error with twr_tag_tdma twr_node_tdma

hello,
I followed the directions in the readme, but can not compile the examples.
I've read the previous issues and downgraded the toolchain to 7-2017-q4.
now the twr_nranges_tdma compiles and runs (I had that error: initializer element is not constant before), but the error in twr_tag_tdma and twr_node_tdma stayed.
the error message is:

`Error: apps/twr_tag_tdma/src/main.c: In function 'slot_cb':
apps/twr_tag_tdma/src/main.c:91:40: error: 'tdma_instance_t {aka struct _tdma_instance_t}' has no member named 'parent'
dw1000_dev_instance_t * inst = tdma->parent;
^~
apps/twr_tag_tdma/src/main.c:95:13: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'pan'
if (inst->pan->status.valid == false) return;
^~
apps/twr_tag_tdma/src/main.c:99:43: error: passing argument 1 of 'tdma_tx_slot_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
uint64_t dx_time = tdma_tx_slot_start(inst, idx) & 0xFFFFFFFFFE00UL;
^~~~
In file included from apps/twr_tag_tdma/src/main.c:46:0:
repos/mynewt-dw1000-core/lib/tdma/include/tdma/tdma.h:110:10: note: expected 'struct _tdma_instance_t *' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
uint64_t tdma_tx_slot_start(struct _tdma_instance_t * tdma, float idx);
^~~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:105:33: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'ccp'
uint16_t node_address = inst->ccp->frames[0]->short_address;
^~
apps/twr_tag_tdma/src/main.c:106:39: error: passing argument 1 of 'dw1000_rng_request_delay_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
if(dw1000_rng_request_delay_start(inst, node_address, dx_time, DWT_SS_TWR).start_tx_error){
^~~~
In file included from apps/twr_tag_tdma/src/main.c:40:0:
repos/mynewt-dw1000-core/lib/rng/include/rng/rng.h:195:21: note: expected 'struct _dw1000_rng_instance_t *' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
dw1000_dev_status_t dw1000_rng_request_delay_start(struct _dw1000_rng_instance_t * rng, uint16_t dst_address, uint64_t delay, dw1000_rng_modes_t protocal);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c: In function 'complete_cb':
apps/twr_tag_tdma/src/main.c:161:39: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'rng'
dw1000_rng_instance_t * rng = inst->rng;
^~
apps/twr_tag_tdma/src/main.c: In function 'slot_complete_cb':
apps/twr_tag_tdma/src/main.c:188:39: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'rng'
dw1000_rng_instance_t * rng = inst->rng;
^~
apps/twr_tag_tdma/src/main.c: In function 'pan_slot_timer_cb':
apps/twr_tag_tdma/src/main.c:244:40: error: 'tdma_instance_t {aka struct _tdma_instance_t}' has no member named 'parent'
dw1000_dev_instance_t * inst = tdma->parent;
^~
apps/twr_tag_tdma/src/main.c:247:13: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'pan'
if (inst->pan->status.valid &&
^~
apps/twr_tag_tdma/src/main.c:248:36: error: passing argument 1 of 'dw1000_pan_lease_remaining' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_pan_lease_remaining(inst)>MYNEWT_VAL(PAN_LEASE_EXP_MARGIN)) {
^~~~
In file included from apps/twr_tag_tdma/src/main.c:42:0:
repos/mynewt-dw1000-core/lib/pan/include/pan/pan.h:132:10: note: expected 'dw1000_pan_instance_t * {aka struct _dw1000_pan_instance_t *}' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
uint32_t dw1000_pan_lease_remaining(dw1000_pan_instance_t * pan);
^~~~~~~~~~~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:254:57: error: passing argument 1 of 'tdma_rx_slot_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_set_delay_start(inst, tdma_rx_slot_start(inst, idx));
^~~~
In file included from apps/twr_tag_tdma/src/main.c:46:0:
repos/mynewt-dw1000-core/lib/tdma/include/tdma/tdma.h:111:10: note: expected 'struct _tdma_instance_t *' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
uint64_t tdma_rx_slot_start(struct _tdma_instance_t * tdma, float idx);
^~~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:256:27: error: passing argument 1 of 'dw1000_pan_listen' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_pan_listen(inst, DWT_BLOCKING);
^~~~
In file included from apps/twr_tag_tdma/src/main.c:42:0:
repos/mynewt-dw1000-core/lib/pan/include/pan/pan.h:129:21: note: expected 'dw1000_pan_instance_t * {aka struct _dw1000_pan_instance_t *}' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
dw1000_dev_status_t dw1000_pan_listen(dw1000_pan_instance_t * pan, dw1000_dev_modes_t mode);
^~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:259:47: error: passing argument 1 of 'tdma_tx_slot_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
uint64_t dx_time = tdma_tx_slot_start(inst, idx + 1.0f/16);
^~~~
In file included from apps/twr_tag_tdma/src/main.c:46:0:
repos/mynewt-dw1000-core/lib/tdma/include/tdma/tdma.h:110:10: note: expected 'struct _tdma_instance_t *' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
uint64_t tdma_tx_slot_start(struct _tdma_instance_t * tdma, float idx);
^~~~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:260:26: error: passing argument 1 of 'dw1000_pan_blink' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_pan_blink(inst, 2, DWT_BLOCKING, dx_time);
^~~~
In file included from apps/twr_tag_tdma/src/main.c:42:0:
repos/mynewt-dw1000-core/lib/pan/include/pan/pan.h:130:21: note: expected 'dw1000_pan_instance_t * {aka struct _dw1000_pan_instance_t *}' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
dw1000_pan_status_t dw1000_pan_blink(dw1000_pan_instance_t * pan, uint16_t role, dw1000_dev_modes_t mode, uint64_t delay);
^~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c: In function 'main':
apps/twr_tag_tdma/src/main.c:315:22: error: passing argument 1 of 'dw1000_ccp_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_ccp_start(inst, CCP_ROLE_SLAVE);
^~~~
In file included from repos/mynewt-dw1000-core/lib/tdma/include/tdma/tdma.h:46:0,
from apps/twr_tag_tdma/src/main.c:46:
repos/mynewt-dw1000-core/lib/ccp/include/ccp/ccp.h:190:6: note: expected 'dw1000_ccp_instance_t * {aka struct _dw1000_ccp_instance_t *}' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t *}'
void dw1000_ccp_start(dw1000_ccp_instance_t *ccp, dw1000_ccp_role_t role);
^~~~~~~~~~~~~~~~
apps/twr_tag_tdma/src/main.c:320:22: error: passing argument 1 of 'dw1000_pan_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
dw1000_pan_start(inst, PAN_ROLE_SLAVE);
^~~~
In file included from apps/twr_tag_tdma/src/main.c:42:0:
repos/mynewt-dw1000-core/lib/pan/include/pan/pan.h:128:6: note: expected 'dw1000_pan_instance_t * {aka struct _dw1000_pan_instance_t *}' but argument is of type 'dw1000_dev_instance_t * {aka struct _dw1000_dev_instance_t }'
void dw1000_pan_start(dw1000_pan_instance_t * pan, dw1000_pan_role_t role);
^~~~~~~~~~~~~~~~
In file included from apps/twr_tag_tdma/src/main.c:35:0:
apps/twr_tag_tdma/src/main.c:333:116: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'rng'
printf("{"utime": %lu,"msg": "holdoff = %d usec"}\n",utime,(uint16_t)ceilf(dw1000_dwt_usecs_to_usecs(inst->rng->config.tx_holdoff_delay)));
^
repos/mynewt-dw1000-core/hw/drivers/dw1000/include/dw1000/dw1000_dev.h:359:50: note: in definition of macro 'dw1000_dwt_usecs_to_usecs'
#define dw1000_dwt_usecs_to_usecs(_t) (double)( (_t) * (0x10000UL/(128
499.2)))
^~
apps/twr_tag_tdma/src/main.c:358:26: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'tdma'
tdma_assign_slot(inst->tdma, slot0_cb, g_slot[0], &g_slot[0]);
^~
apps/twr_tag_tdma/src/main.c:359:26: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'tdma'
tdma_assign_slot(inst->tdma, pan_slot_timer_cb, g_slot[1], &g_slot[1]);
^~
apps/twr_tag_tdma/src/main.c:362:30: error: 'dw1000_dev_instance_t {aka struct _dw1000_dev_instance_t}' has no member named 'tdma'
tdma_assign_slot(inst->tdma, slot_cb, g_slot[i], &g_slot[i]);
^~
cc1: all warnings being treated as errors

starting at the top with:'tdma_instance_t {aka struct _tdma_instance_t}' has no member named 'parent'`
I had a quick look in repos/mynewt-dw100-core/lib/tdma/tdma.h
and found: the compiler is right, as far as i see.
I checked for other header-files with a different definition, but found none.

I found in the changes of mynewt-dw1000-core a week ago in lib/survey/src/survey.c
the similar line (244)
dw1000_dev_instance_t * inst = tdma->parent;
was changed to:
dw1000_dev_instance_t * inst = tdma->dev_inst;

so now I'm unshure, whether the problem is me, my setup or something in the code...
any suggestions are welcome,

regards horst

Do you have TDOA_anchor in your product support?

Hello,
I‘ve seen the branch deca-tdoa-anchor,but 404 . Has it been deleted?

BTW, I want to apply tdoa to TREK1000 that I bought from your company.
Does it meet the hardware requirements?

About the performance of WCS

Hi,

I noticed that in README.md of mynewt-timescale-lib, the performance of 1s CCP is ~500ps.
Got a few questions regarding the performance of CCP/WCS

  • How is this measured? Is there a way to repeat the Benchmark test in one of the apps?
  • If we change the profile to <1s CCP superframe, will this improve the 500ps skew?
  • Is it possible to share the source codes of timescale-lib?

Regards
Feng

the question of twr_node_nranges_tdma reboot

Hi
When I run twr_node_nranges_tdma APP for a long time, I find that it restarts every time when the utime upto 0xFFFFFFFF.

log:
{"utime": 4288931898,"wcs": [275343380480,275343380480,275343380480],"skew": 0}
{"utime": 4290007361,"wcs": [344062857216,344062857216,344062857216],"skew": 0}
{"utime": 4291082816,"wcs": [412782333952,412782333952,412782333952],"skew": 0}
{"utime": 4292158260,"wcs": [481501810688,481501810688,481501810688],"skew": 0}
{"utime": 4293233731,"wcs": [550221287424,550221287424,550221287424],"skew": 0}
{"utime": 4294309201,"wcs": [618940764160,618940764160,618940764160],"skew": 0}
{"utime": 414252,"wcs": [687660240896,687660240896,687660240896],"skew": 0}
{"utime": 1489700,"wcs": [756379717632,756379717632,756379717632],"skew": 0}
{"utime": 2565154,"wcs": [825099194368,825099194368,825099194368],"skew": 0}
{"utime": 3640608,"wcs": [893818671104,893818671104,893818671104],"skew": 0}
{"utime": 4716062,"wcs": [962538147840,962538147840,962538147840],"skew": 0}
{"utime": 5791516,"wcs": [1031257624576,1031257624576,1031257624576],"skew": 0}
{"utime": 6866982,"wcs": [465473536,465473536,465473536],"skew": 0}
{"utime": 7942418,"wcs": [69184950272,69184950272,69184950272],"skew": 0}
{"utime": 9017872,"wcs": [137904427008,137904427008,137904427008],"skew": 0}
{"utime": 10093325,"wcs": [206623903744,206623903744,206623903744],"skew": 0}
{"utime": 11168780,"wcs": [275343380480,275343380480,275343380480],"skew": 0}
551327 Assert @ 0xc429 - repos/apache-mynewt-core/kernel/os/src/os_sanity.c:180
551327 Unhandled interrupt (2), exception sp 0x200013b0
551327 r0:0x00000000 r1:0x00000000 r2:0x80000000 r3:0xe000ed00
551327 r4:0x00016ccc r5:0x0000c429 r6:0x000000b4 r7:0x00000000
551327 r8:0xffffffff r9:0x0008699e r10:0x00000000 r11:0x00000000
551327 r12:0x00000000 lr:0x0000b973 pc:0x0000b982 psr:0x61000000
551327 ICSR:0x00421802 HFSR:0x00000000 CFSR:0x00000000
551327 BFAR:0xe000ed38 MMFAR:0xe000ed34
{"utime": 252031,"msg": "dw1000_pkg_init"}
{"utime": 260014,"msg": "ccp_pkg_init"}
{"utime": 260950,"msg": "tdma_pkg_init"}
{"utime": 261623,"msg": "rng_pkg_init"}
{"utime": 261965,"msg": "nrng_pkg_init"}
{"utime": 262310,"msg": "ss_nrng_pkg_init"}
{"utime": 262655,"exec": "apps/twr_node_nranges_tdma/src/main.c"}
{"utime": 262655,"msg": "device_id = 0xDECA0130"}
{"utime": 262655,"msg": "PANID = 0xDECA"}
{"utime": 262655,"msg": "DeviceID = 0x1010"}
{"utime": 262655,"msg": "partID = 0xC41040AF"}
{"utime": 262655,"msg": "lotID = 0x13A6102"}
{"utime": 262655,"msg": "xtal_trim = 0x17"}
{"utime": 262655,"msg": "frame_duration = 195 usec"}
{"utime": 262655,"msg": "SHR_duration = 139 usec"}
{"utime": 262655,"msg": "holdoff = 821 usec"}
{"utime": 2420672,"wcs": [137920926720,137920926720,137920926720],"skew": 0}
{"utime": 3496932,"wcs": [206640403456,206640403456,206640403456],"skew": 0}
{"utime": 4572426,"wcs": [275359880192,275359880192,275359880192],"skew": 0}
{"utime": 5647870,"wcs": [344079356928,344079356928,344079356928],"skew": 0}
{"utime": 6723333,"wcs": [412798833664,412798833664,412798833664],"skew": 0}
{"utime": 7798788,"wcs": [481518310400,481518310400,481518310400],"skew": 0}
{"utime": 8874239,"wcs": [550237787136,550237787136,550237787136],"skew": 0}

about the NODE_END_SLOT_ID of twr_tag_nranges_tdma

I would like to test the TDOA application, in the process of using mynewt-dw1000-apps\apps\twr_tag_nranges_tdma example, the configuration of tag at compile time is as follows:
Newt target amend tag syscfg=NRNG_NNODES=16:NRNG_NFRAMES=32:NODE_START_SLOT_ID=0:NODE_END_SLOT_ID=8
I have 4 nodes now, I will set NRNG_NNODES=4:NRNG_NFRAMES=8, NODE_END_SLOT_ID should I set it to 4?

RNG has 7 data and tdoa has 7 data. When set to 4, RNG only has 4 data sets. Is there any difference?

Looking forward to your reply.

How about DW3000

Hi sir

I'm new to this field and i want to make dw3000 work as an anchor and tag ..??
please can you suggest me how can i make them work..??

Hoping for your help :-(

newt install error in normalizing version "0-dev"

Hi,
After cloning mynewt-dw1000-apps;
As per given in Readme, while doing newt install, I am getting following error

Admin@ZWPL-COM2 MINGW64 /e/Projects/RealTimeLocation- RTL/nRF/GitCodes/mynewt-dw1000-apps-master/mynewt-dw1000-apps (master)
$ newt install
Downloading repository mynewt-core (commit: master) from https://github.com/apache/mynewt-core.git
Downloading repository mynewt-dw1000-core (commit: master) from https://github.com/decawave/mynewt-dw1000-core.git
Downloading repository mynewt-timescale-lib (commit: master) from https://github.com/decawave/mynewt-timescale-lib.git
Error: cannot normalize version "0-dev" for repo "mynewt-dw1000-core"; no mapping to numeric version

Kindly , suggest whats going wrong over here.

TDMA & WCS

Hello,

I am trying to figure out how exactly TDMA and Wireless Clock Synchronization works.

Is there any available documentation on these topics?

nranges/nranges.h

hello,
trying to work with the examples, I wanted to run the twr_nranges_tdma with double-sided-rangig.
I changed a line in twr_nrages_tdma/pkg.yml
from:

  • "@mynewt-dw100-core/lib/twr_ss_nrng"
    to
  • "@mynewt-dw100-core/lib/twr_ds_nrng"
    , naively hoping it would do the trick.

But lib/twr_ds_nrg depends on:

  • "@mynewt-dw100-core/lib/nranges"
    which does not exist...

I tried to change the calls to existing #include <nrng/nrng.h>
but got loads of compiler-errors showing me that one does not fit.

any sugestions?

regards horst

Example listener missing _dw1000_cir_complex

For the listener example the definition of _dw1000_cir_complex is missing
Error: apps/listener/src/main.c: In function 'process_rx_data_queue': apps/listener/src/main.c:193:17: error: invalid use of undefined type 'struct _dw1000_cir_complex' printf("%c%d", (i==0)? '[':',', cirp[i].real);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.