Damian Christie

Forum Replies Created

Viewing 17 posts - 1 through 17 (of 17 total)
  • Author
    Posts
  • in reply to: Packet Forwarder Won't Start #19326
    Damian Christie
    Participant

    I just want to bump this so you’re aware of this. I understand this is something easily configured in Linux but I figure you’d want to have the install file do this itself.

    Thanks.

    in reply to: Packet Forwarder Won't Start #19299
    Damian Christie
    Participant

    Ok it sort of worked. I can start the packet forwarder manually now but it doesn’t come up after a reboot. The contents of rc5.d are below – no packet forwarder.

    root@mtcdt:~# ls -l /etc/rc5.d/
    lrwxrwxrwx    1 root     root            20 Mar 20 11:13 S01networking -> ../init.d/networking
    lrwxrwxrwx    1 root     root            16 Mar 20 11:13 S02dbus-1 -> ../init.d/dbus-1
    lrwxrwxrwx    1 root     root            14 Mar 20 11:12 S09sshd -> ../init.d/sshd
    lrwxrwxrwx    1 root     root            14 Mar 20 11:13 S10gpsd -> ../init.d/gpsd
    lrwxrwxrwx    1 root     root            21 Mar 20 11:12 S15mountnfs.sh -> ../init.d/mountnfs.sh
    lrwxrwxrwx    1 root     root            17 Mar 20 11:13 S20hostapd -> ../init.d/hostapd
    lrwxrwxrwx    1 root     root            20 Mar 20 11:13 S20hwclock.sh -> ../init.d/hwclock.sh
    lrwxrwxrwx    1 root     root            14 Mar 20 11:13 S20ntpd -> ../init.d/ntpd
    lrwxrwxrwx    1 root     root            16 Mar 20 11:12 S20syslog -> ../init.d/syslog
    lrwxrwxrwx    1 root     root            20 Mar 20 11:13 S50usb-gadget -> ../init.d/usb-gadget
    lrwxrwxrwx    1 root     root            18 Mar 20 11:13 S70lighttpd -> ../init.d/lighttpd
    lrwxrwxrwx    1 root     root            19 Mar 20 11:13 S70mosquitto -> ../init.d/mosquitto
    lrwxrwxrwx    1 root     root            29 Mar 20 11:12 S80lora-network-server -> ../init.d/lora-network-server
    lrwxrwxrwx    1 root     root            15 Mar 20 11:13 S90crond -> ../init.d/crond
    lrwxrwxrwx    1 root     root            40 Mar 20 11:12 S95led-status_heartbeat_trigger -> /etc/init.d/led-status_heartbeat_trigger
    lrwxrwxrwx    1 root     root            23 Mar 20 11:13 S95reset-handler -> ../init.d/reset-handler
    lrwxrwxrwx    1 root     root            15 Mar 20 11:13 S99monit -> ../init.d/monit
    lrwxrwxrwx    1 root     root            22 Mar 20 11:12 S99rmnologin.sh -> ../init.d/rmnologin.sh
    lrwxrwxrwx    1 root     root            23 Mar 20 11:12 S99stop-bootlogd -> ../init.d/stop-bootlogd
    root@mtcdt:~# cat /etc/default/lora-packet-forwarder
    # set to "yes" or "no" to control starting on boot
    ENABLED="yes"
    in reply to: Packet Forwarder Won't Start #19298
    Damian Christie
    Participant

    That worked!! The folders were created when I ran the forwarder after install and the process is staying up. The gateway is now connected to the server. Great, thanks Jason. Was this just an issue with r9.0?

    in reply to: Packet Forwarder Won't Start #19290
    Damian Christie
    Participant

    Neither lora-packet-forwarder_3.1.0-r9.0_mtcdt.ipk nor lora-packet-forwarder-usb_1.4.1-r10.1_arm926ejste.ipk create this folder or add lora_pkt_fwd.

    in reply to: Packet Forwarder Won't Start #19288
    Damian Christie
    Participant

    I have no “/var/run/lora/” directory…

    in reply to: 3G won't start on boot #18122
    Damian Christie
    Participant

    Hi,

    Looks like ppp has an option to turn off debugging but I can find no way to increase the debugging. Based on your suggestion that the radio may be coming up more slowly on this, is there a way I can generate an output to the system log when it is “up”? That way I can see if it’s up before the it tries to connect. Is there anything else I can try?

    On a completely separate note, is the RSSI value quoted in the mlinux network server logs the resolved value i.e. is this the value before or after SNR has been taken into account??

    Thanks.

    in reply to: 3G won't start on boot #18072
    Damian Christie
    Participant

    You mean the gsm_chat script?

    root@mtcdt:~# cat /etc/ppp/peers/gsm_chat
    SAY "GSM chat\n"
    ECHO OFF
    ABORT 'NO DIAL TONE'
    ABORT 'NO DIALTONE'
    ABORT 'NO ANSWER'
    ABORT 'NO CARRIER'
    ABORT 'DELAYED'
    ABORT 'VOICE'
    ABORT 'BUSY'
    '' 'AT'
    OK 'ATZ'
    OK 'AT+CSQ'
    # ----------------------------------
    # Set the APN for your provider here
    # ----------------------------------
    #OK 'AT+CGDCONT=1,"IP","proxy"'
    #OK 'AT+CGDCONT=1,"IP","ISP.CINGULAR"'
    #OK 'AT+CGDCONT=1,"IP","internet2.voicestream.com"'
    OK 'AT+CGDCONT=1,"IP","hs.vodafone.ie"'
    SAY "Dialing...\n"
    #OK 'ATD*99#'
    OK 'ATD*99***1#'
    SAY "Waiting for CONNECT...\n"
    TIMEOUT 120
    CONNECT ''
    SAY "Connected\n"
    root@mtcdt:~#

    Below is the full output of /var/log/messages after startup.


    root@mtcdt:~# cat /var/log/messages
    Mar 30 14:55:38 mtcdt syslog.info syslogd started: BusyBox v1.22.1
    Mar 30 14:55:38 mtcdt user.notice kernel: klogd started: BusyBox v1.22.1 (2016-05-05 19:12:23 CDT)
    Mar 30 14:55:38 mtcdt user.info kernel: sam9x5: read 512 bytes from id eeprom
    Mar 30 14:55:38 mtcdt user.info kernel: at24_get_setup: found a match for eeprom at 50
    Mar 30 14:55:38 mtcdt user.info kernel: at24 1-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
    Mar 30 14:55:38 mtcdt user.info kernel: sam9x5: read 512 bytes from ap1 eeprom
    Mar 30 14:55:38 mtcdt user.info kernel: at24_get_setup: found a match for eeprom at 52
    Mar 30 14:55:38 mtcdt user.info kernel: at24 1-0052: 512 byte 24c04 EEPROM, writable, 16 bytes/write
    Mar 30 14:55:38 mtcdt user.info kernel: sam9x5: ap2 eeprom read failed: -110
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_nand 40000000.nand: Using dma0chan0 for DMA transfers.
    Mar 30 14:55:38 mtcdt user.info kernel: ONFI param page 0 valid
    Mar 30 14:55:38 mtcdt user.info kernel: ONFI flash detected
    Mar 30 14:55:38 mtcdt user.info kernel: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron MT29F2G08ABBEAHC), 256MiB, page size: 2048, OOB size: 64
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_nand 40000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_nand 40000000.nand: Initialize PMECC params, cap: 4, sector: 512
    Mar 30 14:55:38 mtcdt user.info kernel: Scanning device for bad blocks
    Mar 30 14:55:38 mtcdt user.notice kernel: 9 ofpart partitions found on MTD device atmel_nand
    Mar 30 14:55:38 mtcdt user.notice kernel: Creating 9 MTD partitions on "atmel_nand":
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000000000-0x000010000000 : "NANDFlash"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000000000-0x000000040000 : "at91bootstrap"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000040000-0x0000000c0000 : "u-Boot"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x0000000c0000-0x000000160000 : "u-Boot Config"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000160000-0x000000200000 : "u-Boot Redundant Config"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000200000-0x000000800000 : "uImage"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000000800000-0x000001000000 : "Config"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000001000000-0x000001800000 : "OEM Config"
    Mar 30 14:55:38 mtcdt user.notice kernel: 0x000001800000-0x000010000000 : "Rootfs"
    Mar 30 14:55:38 mtcdt user.info kernel: libphy: MACB_mii_bus: probed
    Mar 30 14:55:38 mtcdt user.info kernel: macb f802c000.ethernet eth0: Cadence MACB at 0xf802c000 irq 23 (00:08:00:4a:02:db)
    Mar 30 14:55:38 mtcdt user.info kernel: macb f802c000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=f802c000.etherne:00, irq=-1)
    Mar 30 14:55:38 mtcdt user.info kernel: PPP generic driver version 2.4.2
    Mar 30 14:55:38 mtcdt user.info kernel: PPP BSD Compression module registered
    Mar 30 14:55:38 mtcdt user.info kernel: PPP Deflate Compression module registered
    Mar 30 14:55:38 mtcdt user.info kernel: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    Mar 30 14:55:38 mtcdt user.info kernel: ehci-atmel: EHCI Atmel driver
    Mar 30 14:55:38 mtcdt user.info kernel: atmel-ehci 700000.ehci: EHCI Host Controller
    Mar 30 14:55:38 mtcdt user.info kernel: atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
    Mar 30 14:55:38 mtcdt user.info kernel: atmel-ehci 700000.ehci: irq 31, io mem 0x00700000
    Mar 30 14:55:38 mtcdt user.info kernel: atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb1: Product: EHCI Host Controller
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb1: Manufacturer: Linux 3.12.27 ehci_hcd
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb1: SerialNumber: 700000.ehci
    Mar 30 14:55:38 mtcdt user.info kernel: hub 1-0:1.0: USB hub found
    Mar 30 14:55:38 mtcdt user.info kernel: hub 1-0:1.0: 3 ports detected
    Mar 30 14:55:38 mtcdt user.info kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    Mar 30 14:55:38 mtcdt user.info kernel: at91_ohci 600000.ohci: AT91 OHCI
    Mar 30 14:55:38 mtcdt user.info kernel: at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
    Mar 30 14:55:38 mtcdt user.info kernel: at91_ohci 600000.ohci: irq 31, io mem 0x00600000
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb2: Product: AT91 OHCI
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb2: Manufacturer: Linux 3.12.27 ohci_hcd
    Mar 30 14:55:38 mtcdt user.info kernel: usb usb2: SerialNumber: at91
    Mar 30 14:55:38 mtcdt user.info kernel: hub 2-0:1.0: USB hub found
    Mar 30 14:55:38 mtcdt user.info kernel: hub 2-0:1.0: 3 ports detected
    Mar 30 14:55:38 mtcdt user.warn kernel: rtc (null): invalid alarm value: 1900-1-1 0:0:0
    Mar 30 14:55:38 mtcdt user.info kernel: at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
    Mar 30 14:55:38 mtcdt user.info kernel: at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
    Mar 30 14:55:38 mtcdt user.info kernel: i2c /dev entries driver
    Mar 30 14:55:38 mtcdt user.info kernel: at91sam9_wdt: enabled (heartbeat=15 sec, nowayout=0)
    Mar 30 14:55:38 mtcdt user.info kernel: Netfilter messages via NETLINK v0.30.
    Mar 30 14:55:38 mtcdt user.info kernel: nf_conntrack version 0.5.0 (3968 buckets, 15872 max)
    Mar 30 14:55:38 mtcdt user.info kernel: ipip: IPv4 over IPv4 tunneling driver
    Mar 30 14:55:38 mtcdt user.info kernel: gre: GRE over IPv4 demultiplexor driver
    Mar 30 14:55:38 mtcdt user.info kernel: ip_gre: GRE over IPv4 tunneling driver
    Mar 30 14:55:38 mtcdt user.info kernel: IPv4 over IPSec tunneling driver
    Mar 30 14:55:38 mtcdt user.info kernel: ip_tables: (C) 2000-2006 Netfilter Core Team
    Mar 30 14:55:38 mtcdt user.info kernel: TCP: cubic registered
    Mar 30 14:55:38 mtcdt user.info kernel: Initializing XFRM netlink socket
    Mar 30 14:55:38 mtcdt user.info kernel: NET: Registered protocol family 10
    Mar 30 14:55:38 mtcdt user.info kernel: mip6: Mobile IPv6
    Mar 30 14:55:38 mtcdt user.info kernel: sit: IPv6 over IPv4 tunneling driver
    Mar 30 14:55:38 mtcdt user.info kernel: NET: Registered protocol family 17
    Mar 30 14:55:38 mtcdt user.info kernel: NET: Registered protocol family 15
    Mar 30 14:55:38 mtcdt user.info kernel: l2tp_core: L2TP core driver, V2.0
    Mar 30 14:55:38 mtcdt user.notice kernel: Key type dns_resolver registered
    Mar 30 14:55:38 mtcdt user.info kernel: at91_rtc fffffeb0.rtc: setting system clock to 2017-03-30 13:55:23 UTC (1490882123)
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2: new high-speed USB device number 2 using atmel-ehci
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2: New USB device found, idVendor=0424, idProduct=2534
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    Mar 30 14:55:38 mtcdt user.info kernel: hub 1-2:1.0: USB hub found
    Mar 30 14:55:38 mtcdt user.info kernel: hub 1-2:1.0: 4 ports detected
    Mar 30 14:55:38 mtcdt user.info kernel: usb 2-3: new full-speed USB device number 2 using at91_ohci
    Mar 30 14:55:38 mtcdt user.info kernel: usb 2-3: New USB device found, idVendor=04e2, idProduct=1412
    Mar 30 14:55:38 mtcdt user.info kernel: usb 2-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: new high-speed USB device number 3 using atmel-ehci
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: New USB device found, idVendor=0403, idProduct=6014
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Product: Single RS232-HS
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Manufacturer: FTDI
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: new high-speed USB device number 4 using atmel-ehci
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: New USB device found, idVendor=1bc7, idProduct=0021
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: Product: Telit Wireless Module
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: Manufacturer: Telit wireless solutions
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.3: SerialNumber: 351579054996226
    Mar 30 14:55:38 mtcdt user.notice kernel: jffs2: notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    Mar 30 14:55:38 mtcdt user.info kernel: VFS: Mounted root (jffs2 filesystem) readonly on device 31:8.
    Mar 30 14:55:38 mtcdt user.info kernel: devtmpfs: mounted
    Mar 30 14:55:38 mtcdt user.info kernel: Freeing unused kernel memory: 168K (c053d000 - c0567000)
    Mar 30 14:55:38 mtcdt user.notice kernel: jffs2: notice: (73) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    Mar 30 14:55:38 mtcdt user.notice kernel: jffs2: notice: (73) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    Mar 30 14:55:38 mtcdt daemon.info kernel: udevd[84]: starting version 182
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0000000.spi: version: 0x212
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0000000.spi: Using dma0chan1 (tx) and dma0chan2 (rx) for DMA transfers
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0000000.spi: Atmel SPI Controller at 0xf0000000 (irq 28)
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0000000.spi: master is unqueued, this is deprecated
    Mar 30 14:55:38 mtcdt user.info kernel: pps_core: LinuxPPS API ver. 1 registered
    Mar 30 14:55:38 mtcdt user.info kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    Mar 30 14:55:38 mtcdt user.info kernel: pps pps0: new PPS source pps.7.-1
    Mar 30 14:55:38 mtcdt user.info kernel: pps pps0: Registered IRQ 32 as PPS source
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0004000.spi: version: 0x212
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0004000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfers
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 29)
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_spi f0004000.spi: master is unqueued, this is deprecated
    Mar 30 14:55:38 mtcdt user.info kernel: tmp102 0-0048: initialized
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_mci f0008000.mmc: version: 0x504
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_mci f0008000.mmc: using dma0chan3 for DMA transfers
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_mci f0008000.mmc: Atmel MCI controller at 0xf0008000 irq 22, 1 slots
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_usba_udc 500000.gadget: MMIO registers at 0xf803c000 mapped at d0952000
    Mar 30 14:55:38 mtcdt user.info kernel: atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at e1100000
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.0: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.0: ttyACM0: USB ACM device
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.2: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.2: ttyACM1: USB ACM device
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.4: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.4: ttyACM2: USB ACM device
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.6: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.6: ttyACM3: USB ACM device
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.8: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.8: ttyACM4: USB ACM device
    Mar 30 14:55:38 mtcdt user.info kernel: usbcore: registered new interface driver usbserial
    Mar 30 14:55:38 mtcdt user.info kernel: usbcore: registered new interface driver usbserial_generic
    Mar 30 14:55:38 mtcdt user.info kernel: usbserial: USB Serial support registered for generic
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.10: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.10: ttyACM5: USB ACM device
    Mar 30 14:55:38 mtcdt user.err kernel: cdc_acm 1-2.3:1.12: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm 1-2.3:1.12: ttyACM6: USB ACM device
    Mar 30 14:55:38 mtcdt user.info kernel: usbcore: registered new interface driver ftdi_sio
    Mar 30 14:55:38 mtcdt user.info kernel: usbserial: USB Serial support registered for FTDI USB Serial Device
    Mar 30 14:55:38 mtcdt user.info kernel: ftdi_sio 1-2.1:1.0: FTDI USB Serial Device converter detected
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Detected FT232H
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Number of endpoints 2
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Endpoint 1 MaxPacketSize 512
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Endpoint 2 MaxPacketSize 512
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: Setting MaxPacketSize 512
    Mar 30 14:55:38 mtcdt user.info kernel: usbcore: registered new interface driver cdc_acm
    Mar 30 14:55:38 mtcdt user.info kernel: cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    Mar 30 14:55:38 mtcdt user.err kernel: vizzini 2-3:1.0: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: vizzini 2-3:1.0: ttyXRUSB0: XR21v14x usb uart device
    Mar 30 14:55:38 mtcdt user.err kernel: vizzini 2-3:1.2: This device cannot do calls on its own. It is not a modem.
    Mar 30 14:55:38 mtcdt user.info kernel: vizzini 2-3:1.2: ttyXRUSB1: XR21v14x usb uart device
    Mar 30 14:55:38 mtcdt user.info kernel: usbcore: registered new interface driver vizzini
    Mar 30 14:55:38 mtcdt user.info kernel: vizzini: Exar USB UART Driver for XR21V141x
    Mar 30 14:55:38 mtcdt user.info kernel: usb 1-2.1: FTDI USB Serial Device converter now attached to ttyUSB0
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_io_init:829: init: v1.1.1
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:754: detected board MTCDT-0.0
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:757: sizeof: 512
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:758: vendor-id: Multi-Tech Systems
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:759: product-id: MTCDT-H5-210L
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:760: device-id: 18387648
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:761: hw-version: MTCDT-0.0
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:768: mac-addr: 00:08:00:4A:02:DB
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:770: imei: 351579054996226
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:771: capa-gps: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:772: capa-din: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:773: capa-dout: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:774: capa-adc: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:775: capa-wifi: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:776: capa-bluetooth: no
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:mts_id_eeprom_load:800: uuid: 7F2425B450C0A6C39667780409FE3ADE
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:688: accessory card 1 vendor-id: Multi-Tech Systems
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:689: accessory card 1 product-id: MTAC-LORA-868
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:690: accessory card 1 device-id: 18759081
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:691: accessory card 1 hw-version: MTAC-LORA-1.0
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:712: accessory card 1 eui: 00:80:00:00:00:00:BD:3A
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:lora_setup:42: loading LORA accessory card in port 1
    Mar 30 14:55:38 mtcdt user.info kernel: [INFO] mts-io:load_port:653: no accessory card inserted in port 2
    Mar 30 14:55:38 mtcdt user.info kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (NO DIAL TONE)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (NO DIALTONE)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (NO ANSWER)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (NO CARRIER)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (DELAYED)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (VOICE)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: abort on (BUSY)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: send (AT^M)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: expect (OK)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: AT^M^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: OK
    Mar 30 14:55:39 mtcdt local2.info chat[456]: -- got it
    Mar 30 14:55:39 mtcdt local2.info chat[456]: send (ATZ^M)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: expect (OK)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: ^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: ATZ^M^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: OK
    Mar 30 14:55:39 mtcdt local2.info chat[456]: -- got it
    Mar 30 14:55:39 mtcdt local2.info chat[456]: send (AT+CSQ^M)
    Mar 30 14:55:39 mtcdt user.info kernel: g_serial gadget: Gadget Serial v2.4
    Mar 30 14:55:39 mtcdt user.info kernel: g_serial gadget: g_serial ready
    Mar 30 14:55:39 mtcdt local2.info chat[456]: expect (OK)
    Mar 30 14:55:39 mtcdt local2.info chat[456]: ^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: AT+CSQ^M^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: +CSQ: 99,99^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: ^M
    Mar 30 14:55:39 mtcdt local2.info chat[456]: OK
    Mar 30 14:55:39 mtcdt local2.info chat[456]: -- got it
    Mar 30 14:55:39 mtcdt local2.info chat[456]: send (AT+CGDCONT=1,"IP","hs.vodafone.ie"^M)
    Mar 30 14:55:39 mtcdt user.notice kernel: jffs2: notice: (468) check_node_data: wrong data CRC in data node at 0x045fdf88: read 0x370468e, calculated 0xf3cba1.
    Mar 30 14:55:40 mtcdt local2.info chat[456]: expect (OK)
    Mar 30 14:55:40 mtcdt local2.info chat[456]: ^M
    Mar 30 14:55:40 mtcdt local2.info chat[456]: AT+CGDCONT=1,"IP","hs.vodafone.ie"^M^M
    Mar 30 14:55:40 mtcdt local2.info chat[456]: OK
    Mar 30 14:55:40 mtcdt local2.info chat[456]: -- got it
    Mar 30 14:55:40 mtcdt local2.info chat[456]: send (ATD*99***1#^M)
    Mar 30 14:55:40 mtcdt local2.info chat[456]: timeout set to 120 seconds
    Mar 30 14:55:40 mtcdt local2.info chat[456]: expect (CONNECT)
    Mar 30 14:55:40 mtcdt local2.info chat[456]: ^M
    Mar 30 14:55:40 mtcdt local2.info chat[456]: ATD*99***1#^M^M
    Mar 30 14:55:40 mtcdt local2.info chat[456]: NO CARRIER
    Mar 30 14:55:40 mtcdt local2.info chat[456]: -- failed
    Mar 30 14:55:40 mtcdt local2.info chat[456]: Failed (NO CARRIER)
    Mar 30 14:55:40 mtcdt daemon.err pppd[411]: Connect script failed
    Mar 30 14:55:40 mtcdt user.info kernel: ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
    Mar 30 14:55:40 mtcdt user.info kernel: ftdi_sio 1-2.1:1.0: device disconnected
    Mar 30 14:55:40 mtcdt cron.info crond[497]: (CRON) STARTUP (1.4.11)
    Mar 30 14:55:40 mtcdt cron.info crond[497]: (CRON) INFO (Syslog will be used instead of sendmail.)
    Mar 30 14:55:40 mtcdt cron.info crond[497]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 44% if used.)
    Mar 30 14:55:40 mtcdt user.notice root: GwModemDaemon start
    Mar 30 14:55:41 mtcdt daemon.info pppd[411]: Exit.
    Mar 30 14:55:41 mtcdt user.notice reset-handler: Enabling reset-monitor for pid 512
    Mar 30 15:00:02 mtcdt authpriv.info crond[561]: pam_unix(crond:session): session opened for user root by (uid=0)
    Mar 30 15:00:02 mtcdt cron.info CROND[562]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
    Mar 30 15:00:02 mtcdt authpriv.info CROND[561]: pam_unix(crond:session): session closed for user root
    Mar 30 15:00:25 mtcdt user.notice kernel: jffs2: notice: (273) check_node_data: wrong data CRC in data node at 0x0bc0fce8: read 0xe798e01a, calculated 0xbd96b57c.
    Mar 30 15:00:46 mtcdt user.warn kernel: jffs2: warning: (531) jffs2_sum_write_data: Not enough space for summary, padsize = -1246
    Mar 30 15:05:01 mtcdt authpriv.info crond[574]: pam_unix(crond:session): session opened for user root by (uid=0)
    Mar 30 15:05:01 mtcdt cron.info CROND[575]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
    Mar 30 15:05:01 mtcdt authpriv.info CROND[574]: pam_unix(crond:session): session closed for user root
    Mar 30 15:10:01 mtcdt authpriv.info crond[592]: pam_unix(crond:session): session opened for user root by (uid=0)
    Mar 30 15:10:01 mtcdt cron.info CROND[593]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
    Mar 30 15:10:01 mtcdt authpriv.info CROND[592]: pam_unix(crond:session): session closed for user root
    Mar 30 15:11:35 mtcdt authpriv.info login[521]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
    Mar 30 15:11:35 mtcdt authpriv.notice login[594]: ROOT LOGIN on '/dev/ttyS0'

    in reply to: 3G won't start on boot #18030
    Damian Christie
    Participant

    Same provider, same location. I haven’t tried with the same SIM, since it’s kind of difficult to get the SIM in and out. Is there any way I can verify it’s waiting for the 120s timeout with an echo somewhere? It seems to give up very quickly.

    Thanks.

    in reply to: Join Accept not received by mDot #17354
    Damian Christie
    Participant

    Follow-up question: At the start of the network server log I see a JSON structure showing the full config. This contains far more than what I see in the lora-network-server.conf file. Where can I edit these extra settings?

    in reply to: Problem with curl in network server startup. #17057
    Damian Christie
    Participant

    I had the wrong NS image. I installed the AEP NS instead of the mLinux NS.

    Thanks for the help!

    in reply to: GCC libmDot for offline build #14630
    Damian Christie
    Participant

    Your eclipse environment needs to be configured exactly right in order for the build to succeed.

    That’s the goal!!!

    I just checked my workspace and I appear to already have the RTOS files found here. Are there others I need?

    Thanks.

    in reply to: GCC libmDot for offline build #14620
    Damian Christie
    Participant

    Hi Mike,

    I’m pretty sure I used the latest version of mbed-src, downloaded from here. I used libmDot-1.0.8. My compile output is below.

    Thanks.

    
    17:10:25 **** Build of configuration Debug for project test02 ****
    make all 
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal.o" "../system/src/stm32f4-hal/stm32f4xx_hal.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_cortex.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_cortex.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_cortex.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_cortex.o" "../system/src/stm32f4-hal/stm32f4xx_hal_cortex.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_cortex.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.o" "../system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_flash.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_flash.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_flash.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_flash.o" "../system/src/stm32f4-hal/stm32f4xx_hal_flash.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_flash.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_gpio.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_gpio.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_gpio.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_gpio.o" "../system/src/stm32f4-hal/stm32f4xx_hal_gpio.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_gpio.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_iwdg.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_iwdg.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_iwdg.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_iwdg.o" "../system/src/stm32f4-hal/stm32f4xx_hal_iwdg.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_iwdg.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_pwr.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_pwr.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_pwr.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_pwr.o" "../system/src/stm32f4-hal/stm32f4xx_hal_pwr.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_pwr.c
     
    Building file: ../system/src/stm32f4-hal/stm32f4xx_hal_rcc.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-bad-function-cast -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-sign-compare -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"system/src/stm32f4-hal/stm32f4xx_hal_rcc.d" -MT"system/src/stm32f4-hal/stm32f4xx_hal_rcc.o" -c -o "system/src/stm32f4-hal/stm32f4xx_hal_rcc.o" "../system/src/stm32f4-hal/stm32f4xx_hal_rcc.c"
    Finished building: ../system/src/stm32f4-hal/stm32f4xx_hal_rcc.c
     
    Building file: ../system/src/newlib/_cxx.cpp
    Invoking: Cross ARM C++ Compiler
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../libmDot" -I"../" -I"../include" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -I"../mbed-rtos/rtos" -I"../mbed-rtos/rtx/TARGET_CORTEX_M" -I"../libmDot/MTS-Utils" -I"../mbed-src/api" -I"../mbed-src/targets/hal/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/targets/cmsis/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/hal" -std=gnu++11 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics -MMD -MP -MF"system/src/newlib/_cxx.d" -MT"system/src/newlib/_cxx.o" -c -o "system/src/newlib/_cxx.o" "../system/src/newlib/_cxx.cpp"
    Finished building: ../system/src/newlib/_cxx.cpp
     
    Building file: ../system/src/newlib/_exit.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/newlib/_exit.d" -MT"system/src/newlib/_exit.o" -c -o "system/src/newlib/_exit.o" "../system/src/newlib/_exit.c"
    Finished building: ../system/src/newlib/_exit.c
     
    Building file: ../system/src/newlib/_sbrk.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/newlib/_sbrk.d" -MT"system/src/newlib/_sbrk.o" -c -o "system/src/newlib/_sbrk.o" "../system/src/newlib/_sbrk.c"
    Finished building: ../system/src/newlib/_sbrk.c
     
    Building file: ../system/src/newlib/_startup.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -DOS_INCLUDE_STARTUP_INIT_MULTIPLE_RAM_SECTIONS -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/newlib/_startup.d" -MT"system/src/newlib/_startup.d" -c -o "system/src/newlib/_startup.o" "../system/src/newlib/_startup.c"
    Finished building: ../system/src/newlib/_startup.c
     
    Building file: ../system/src/newlib/_syscalls.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/newlib/_syscalls.d" -MT"system/src/newlib/_syscalls.o" -c -o "system/src/newlib/_syscalls.o" "../system/src/newlib/_syscalls.c"
    Finished building: ../system/src/newlib/_syscalls.c
     
    Building file: ../system/src/newlib/assert.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/newlib/assert.d" -MT"system/src/newlib/assert.o" -c -o "system/src/newlib/assert.o" "../system/src/newlib/assert.c"
    Finished building: ../system/src/newlib/assert.c
     
    Building file: ../system/src/diag/Trace.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/diag/Trace.d" -MT"system/src/diag/Trace.o" -c -o "system/src/diag/Trace.o" "../system/src/diag/Trace.c"
    Finished building: ../system/src/diag/Trace.c
     
    Building file: ../system/src/diag/trace_impl.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/diag/trace_impl.d" -MT"system/src/diag/trace_impl.o" -c -o "system/src/diag/trace_impl.o" "../system/src/diag/trace_impl.c"
    Finished building: ../system/src/diag/trace_impl.c
     
    Building file: ../system/src/cortexm/_initialize_hardware.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/cortexm/_initialize_hardware.d" -MT"system/src/cortexm/_initialize_hardware.o" -c -o "system/src/cortexm/_initialize_hardware.o" "../system/src/cortexm/_initialize_hardware.c"
    Finished building: ../system/src/cortexm/_initialize_hardware.c
     
    Building file: ../system/src/cortexm/_reset_hardware.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/cortexm/_reset_hardware.d" -MT"system/src/cortexm/_reset_hardware.o" -c -o "system/src/cortexm/_reset_hardware.o" "../system/src/cortexm/_reset_hardware.c"
    Finished building: ../system/src/cortexm/_reset_hardware.c
     
    Building file: ../system/src/cortexm/exception_handlers.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/cortexm/exception_handlers.d" -MT"system/src/cortexm/exception_handlers.o" -c -o "system/src/cortexm/exception_handlers.o" "../system/src/cortexm/exception_handlers.c"
    Finished building: ../system/src/cortexm/exception_handlers.c
     
    Building file: ../system/src/cmsis/startup_stm32f411xe.S
    Invoking: Cross ARM GNU Assembler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -x assembler-with-cpp -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -MMD -MP -MF"system/src/cmsis/startup_stm32f411xe.d" -MT"system/src/cmsis/startup_stm32f411xe.o" -c -o "system/src/cmsis/startup_stm32f411xe.o" "../system/src/cmsis/startup_stm32f411xe.S"
    Finished building: ../system/src/cmsis/startup_stm32f411xe.S
     
    Building file: ../system/src/cmsis/system_stm32f4xx.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"system/src/cmsis/system_stm32f4xx.d" -MT"system/src/cmsis/system_stm32f4xx.o" -c -o "system/src/cmsis/system_stm32f4xx.o" "../system/src/cmsis/system_stm32f4xx.c"
    Finished building: ../system/src/cmsis/system_stm32f4xx.c
     
    Building file: ../src/Timer.cpp
    Invoking: Cross ARM C++ Compiler
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../libmDot" -I"../" -I"../include" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -I"../mbed-rtos/rtos" -I"../mbed-rtos/rtx/TARGET_CORTEX_M" -I"../libmDot/MTS-Utils" -I"../mbed-src/api" -I"../mbed-src/targets/hal/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/targets/cmsis/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/hal" -std=gnu++11 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics -MMD -MP -MF"src/Timer.d" -MT"src/Timer.o" -c -o "src/Timer.o" "../src/Timer.cpp"
    Finished building: ../src/Timer.cpp
     
    Building file: ../src/_initialize_hardware.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"src/_initialize_hardware.d" -MT"src/_initialize_hardware.o" -c -o "src/_initialize_hardware.o" "../src/_initialize_hardware.c"
    ../src/_initialize_hardware.c: In function 'SystemClock_Config':
    ../src/_initialize_hardware.c:104:2: warning: #warning "Please check if the SystemClock_Config() settings match your board!" [-Wcpp]
     #warning "Please check if the SystemClock_Config() settings match your board!"
      ^
    Finished building: ../src/_initialize_hardware.c
     
    Building file: ../src/_write.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -MMD -MP -MF"src/_write.d" -MT"src/_write.o" -c -o "src/_write.o" "../src/_write.c"
    Finished building: ../src/_write.c
     
    Building file: ../src/main.cpp
    Invoking: Cross ARM C++ Compiler
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../libmDot" -I"../" -I"../include" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -I"../mbed-rtos/rtos" -I"../mbed-rtos/rtx/TARGET_CORTEX_M" -I"../libmDot/MTS-Utils" -I"../mbed-src/api" -I"../mbed-src/targets/hal/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/targets/cmsis/TARGET_STM/TARGET_STM32F4XX" -I"../mbed-src/hal" -std=gnu++11 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics -MMD -MP -MF"src/main.d" -MT"src/main.o" -c -o "src/main.o" "../src/main.cpp"
    In file included from ../src/main.cpp:2:0:
    ../libmDot/mDot.h:25:38: warning: unused parameter 'args' [-Wunused-parameter]
             static void idle(void const* args) {
                                          ^
    Finished building: ../src/main.cpp
     
    Building file: ../src/stm32f4xx_hal_msp.c
    Invoking: Cross ARM C Compiler
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DUSE_FULL_ASSERT -DOS_USE_SEMIHOSTING -DTRACE -DOS_USE_TRACE_SEMIHOSTING_DEBUG -DSTM32F411xE -DUSE_HAL_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../libmDot" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f4-hal" -std=gnu11 -Wno-missing-prototypes -Wno-missing-declarations -MMD -MP -MF"src/stm32f4xx_hal_msp.d" -MT"src/stm32f4xx_hal_msp.d" -c -o "src/stm32f4xx_hal_msp.o" "../src/stm32f4xx_hal_msp.c"
    Finished building: ../src/stm32f4xx_hal_msp.c
     
    Building target: test02.elf
    Invoking: Cross ARM C++ Linker
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../libmDot" -L"../ldscripts" -Wl,-Map,"test02.map" --specs=nano.specs -o "test02.elf"  ./system/src/stm32f4-hal/stm32f4xx_hal.o ./system/src/stm32f4-hal/stm32f4xx_hal_cortex.o ./system/src/stm32f4-hal/stm32f4xx_hal_dfsdm.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash.o ./system/src/stm32f4-hal/stm32f4xx_hal_gpio.o ./system/src/stm32f4-hal/stm32f4xx_hal_iwdg.o ./system/src/stm32f4-hal/stm32f4xx_hal_pwr.o ./system/src/stm32f4-hal/stm32f4xx_hal_rcc.o  ./system/src/newlib/_cxx.o ./system/src/newlib/_exit.o ./system/src/newlib/_sbrk.o ./system/src/newlib/_startup.o ./system/src/newlib/_syscalls.o ./system/src/newlib/assert.o  ./system/src/diag/Trace.o ./system/src/diag/trace_impl.o  ./system/src/cortexm/_initialize_hardware.o ./system/src/cortexm/_reset_hardware.o ./system/src/cortexm/exception_handlers.o  ./system/src/cmsis/startup_stm32f411xe.o ./system/src/cmsis/system_stm32f4xx.o  ./src/Timer.o ./src/_initialize_hardware.o ./src/_write.o ./src/main.o ./src/stm32f4xx_hal_msp.o   -lmDot-1.0.8-1-g7ae9ef7-GCC_ARM
    ./src/main.o: In function 'main':
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:24: undefined reference to 'mDot::getId[abi:cxx11]()'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:48: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:52: undefined reference to 'mDot::setNetworkName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:53: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:57: undefined reference to 'mDot::setNetworkPassphrase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:58: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:66: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:72: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:87: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:89: undefined reference to 'osDelay'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:99: undefined reference to 'mDot::getReturnCodeString[abi:cxx11](long const&)'
    C:\Users\christda\workspace\test02\Debug/../src/main.cpp:105: undefined reference to 'osDelay'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::~LoRaMac()':
    LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0xc): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0x14): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0x1c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0x24): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0x2c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o):LoRaMac.cpp:(.text._ZN7LoRaMacD2Ev+0x34): more undefined references to 'rtos::RtosTimer::~RtosTimer()' follow
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::GetNextTxMs()':
    LoRaMac.cpp:(.text._ZN7LoRaMac11GetNextTxMsEv+0x10): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac11GetNextTxMsEv+0x9c): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac11GetNextTxMsEv+0xb6): undefined reference to 'mbed::Timer::read_ms()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnDutyCycleCentEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleCentEventBottomEv+0x8): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleCentEventBottomEv+0x34): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnDutyCycleMillEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleMillEventBottomEv+0x8): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleMillEventBottomEv+0x34): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnDutyCycleDeciEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleDeciEventBottomEv+0x8): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleDeciEventBottomEv+0x34): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnDutyCycleVariEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleVariEventBottomEv+0x8): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac26OnDutyCycleVariEventBottomEv+0x34): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::ResetRadio()':
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x22): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x2a): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x32): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x3a): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x40): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o):LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x48): more undefined references to 'rtos::RtosTimer::stop()' follow
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::ResetRadio()':
    LoRaMac.cpp:(.text._ZN7LoRaMac10ResetRadioEv+0x92): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::FindNextChannel()':
    LoRaMac.cpp:(.text._ZN7LoRaMac15FindNextChannelEv+0x1ac): undefined reference to 'mbed::Timer::read_ms()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::Init()':
    LoRaMac.cpp:(.text._ZN7LoRaMac4InitEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac4InitEv+0xac): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::LoRaMac(SxRadio&, LoRaMacEvent*)':
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0xb6): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0xd4): undefined reference to 'mbed::Timer::Timer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0xee): undefined reference to 'mbed::Timer::Timer()'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0xfc): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x10a): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x118): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x126): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x134): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o):LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x142): more undefined references to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)' follow
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::LoRaMac(SxRadio&, LoRaMacEvent*)':
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x2b2): undefined reference to 'mbed::Timer::start()'
    LoRaMac.cpp:(.text._ZN7LoRaMacC2ER7SxRadioP12LoRaMacEvent+0x2b8): undefined reference to 'mbed::Timer::start()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::InitNwkIds(unsigned long, unsigned long, unsigned char*, unsigned char*)':
    LoRaMac.cpp:(.text._ZN7LoRaMac10InitNwkIdsEmmPhS0_+0x18): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac10InitNwkIdsEmmPhS0_+0x4c): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::LinkCheckReq()':
    LoRaMac.cpp:(.text._ZN7LoRaMac12LinkCheckReqEv+0x1a): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac12LinkCheckReqEv+0x54): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::PrepareFrame(LoRaMac::TxChannel, LoRaMac::Header*, LoRaMac::UpFrameControl*, unsigned char*, unsigned char, void*, unsigned short)':
    LoRaMac.cpp:(.text._ZN7LoRaMac12PrepareFrameENS_9TxChannelEPNS_6HeaderEPNS_14UpFrameControlEPhhPvt+0x2c): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac12PrepareFrameENS_9TxChannelEPNS_6HeaderEPNS_14UpFrameControlEPhhPvt+0x368): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::UpdateDutyCycle(unsigned long, unsigned long)':
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x12): undefined reference to 'mbed::Timer::start()'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x62): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x8e): undefined reference to 'mbed::Timer::reset()'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0xa8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x106): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x1b0): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x1bc): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac15UpdateDutyCycleEmm+0x1c8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::SendFrameOnChannel(LoRaMac::TxChannel)':
    LoRaMac.cpp:(.text._ZN7LoRaMac18SendFrameOnChannelENS_9TxChannelE+0x1a): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac18SendFrameOnChannelENS_9TxChannelE+0x1ae): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnNbRepTimeoutTimerEventBottom() [clone .part.30]':
    LoRaMac.cpp:(.text._ZN7LoRaMac30OnNbRepTimeoutTimerEventBottomEv.part.30+0x134): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::SendOnChannel(LoRaMac::TxChannel, LoRaMac::Header*, LoRaMac::UpFrameControl*, unsigned char*, unsigned char, void*, unsigned short)':
    LoRaMac.cpp:(.text._ZN7LoRaMac13SendOnChannelENS_9TxChannelEPNS_6HeaderEPNS_14UpFrameControlEPhhPvt+0x22): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac13SendOnChannelENS_9TxChannelEPNS_6HeaderEPNS_14UpFrameControlEPhhPvt+0x40): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::Send(LoRaMac::Header*, unsigned char*, unsigned char, void*, unsigned short)':
    LoRaMac.cpp:(.text._ZN7LoRaMac4SendEPNS_6HeaderEPhhPvt+0x1c): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac4SendEPNS_6HeaderEPhhPvt+0x4c): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac4SendEPNS_6HeaderEPhhPvt+0x78): undefined reference to 'rtos::Mutex::unlock()'
    LoRaMac.cpp:(.text._ZN7LoRaMac4SendEPNS_6HeaderEPhhPvt+0xb8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::JoinReq(unsigned char*, unsigned char*, unsigned char*)':
    LoRaMac.cpp:(.text._ZN7LoRaMac7JoinReqEPhS0_S0_+0x26): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac7JoinReqEPhS0_S0_+0xba): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac7JoinReqEPhS0_S0_+0x128): undefined reference to 'rtos::Mutex::unlock()'
    LoRaMac.cpp:(.text._ZN7LoRaMac7JoinReqEPhS0_S0_+0x158): undefined reference to 'mbed::Timer::read()'
    LoRaMac.cpp:(.text._ZN7LoRaMac7JoinReqEPhS0_S0_+0x17e): undefined reference to 'mbed::Timer::read()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::Wakeup()':
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0x20): undefined reference to 'mbed::Timer::start()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0x26): undefined reference to 'mbed::Timer::start()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0x30): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0x60): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0xa0): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0xea): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6WakeupEv+0xf8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::TxDone()':
    LoRaMac.cpp:(.text._ZN7LoRaMac6TxDoneEv+0x18): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6TxDoneEv+0x142): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6TxDoneEv+0x14e): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6TxDoneEv+0x1b8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6TxDoneEv+0x136): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnRxWindow1TimerEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac27OnRxWindow1TimerEventBottomEv+0xde): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o):LoRaMac.cpp:(.text._ZN7LoRaMac27OnRxWindow2TimerEventBottomEi+0xde): more undefined references to 'rtos::RtosTimer::start(unsigned long)' follow
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnRxWindow2TimerEventBottom(int)':
    LoRaMac.cpp:(.text._ZN7LoRaMac27OnRxWindow2TimerEventBottomEi+0x15e): undefined reference to 'mbed::Timer::read_ms()'
    LoRaMac.cpp:(.text._ZN7LoRaMac27OnRxWindow2TimerEventBottomEi+0x17a): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::TxTimeout()':
    LoRaMac.cpp:(.text._ZN7LoRaMac9TxTimeoutEv+0x20): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::RxTimeout()':
    LoRaMac.cpp:(.text._ZN7LoRaMac9RxTimeoutEv+0x20): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac9RxTimeoutEv+0x48): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::RxError()':
    LoRaMac.cpp:(.text._ZN7LoRaMac7RxErrorEv+0x14): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::Config(LoRaConfig&)':
    LoRaMac.cpp:(.text._ZN7LoRaMac6ConfigER10LoRaConfig+0x14): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6ConfigER10LoRaConfig+0x1b4): undefined reference to 'rtos::Mutex::unlock()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6ConfigER10LoRaConfig+0x308): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::RxDone(unsigned char*, unsigned short, short, signed char)':
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x2e): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x2aa): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x59a): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x624): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x6aa): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x81c): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x848): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x882): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0x8f4): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0xca2): undefined reference to 'rtos::RtosTimer::stop()'
    LoRaMac.cpp:(.text._ZN7LoRaMac6RxDoneEPhtsa+0xe96): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(LoRaMac.o): In function 'LoRaMac::OnAckTimeoutTimerEventBottom()':
    LoRaMac.cpp:(.text._ZN7LoRaMac28OnAckTimeoutTimerEventBottomEv+0x132): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::blinkActivityLed()':
    mDot.cpp:(.text._ZN4mDot16blinkActivityLedEv[_ZN4mDot16blinkActivityLedEv]+0x36): undefined reference to 'mbed_assert_internal'
    mDot.cpp:(.text._ZN4mDot16blinkActivityLedEv[_ZN4mDot16blinkActivityLedEv]+0x4c): undefined reference to 'mbed_assert_internal'
    mDot.cpp:(.text._ZN4mDot16blinkActivityLedEv[_ZN4mDot16blinkActivityLedEv]+0x6c): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::waitForLinkCheck()':
    mDot.cpp:(.text._ZN4mDot16waitForLinkCheckEv+0x8): undefined reference to 'mbed::Timer::Timer()'
    mDot.cpp:(.text._ZN4mDot16waitForLinkCheckEv+0xe): undefined reference to 'mbed::Timer::start()'
    mDot.cpp:(.text._ZN4mDot16waitForLinkCheckEv+0x24): undefined reference to 'mbed::Timer::read_ms()'
    mDot.cpp:(.text._ZN4mDot16waitForLinkCheckEv+0x30): undefined reference to 'osDelay'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::setActivityLedState(unsigned char const&)':
    mDot.cpp:(.text._ZN4mDot19setActivityLedStateERKh+0x20): undefined reference to 'mbed::Ticker::detach()'
    mDot.cpp:(.text._ZN4mDot19setActivityLedStateERKh+0x7c): undefined reference to 'mbed_assert_internal'
    mDot.cpp:(.text._ZN4mDot19setActivityLedStateERKh+0x92): undefined reference to 'mbed_assert_internal'
    mDot.cpp:(.text._ZN4mDot19setActivityLedStateERKh+0x72): undefined reference to 'mbed::Ticker::setup(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::mDot()':
    mDot.cpp:(.text._ZN4mDotC2Ev+0x4e): undefined reference to 'rtos::Thread::Thread(void (*)(void const*), void*, osPriority, unsigned long, unsigned char*)'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x5e): undefined reference to 'mbed::TimerEvent::TimerEvent()'
    mDot.cpp:(.text._ZN4mDotC2Ev+0xec): undefined reference to 'attach_rtc'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x318): undefined reference to 'vtable for mbed::Ticker'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x328): undefined reference to 'rtc_read'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x32c): undefined reference to 'rtc_write'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x330): undefined reference to 'rtc_init'
    mDot.cpp:(.text._ZN4mDotC2Ev+0x38c): undefined reference to 'set_time'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::joinBase(unsigned long const&)':
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x84): undefined reference to 'mbed::Timer::Timer()'
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x8c): undefined reference to 'mbed::Timer::start()'
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x10c): undefined reference to 'mbed::Timer::Timer()'
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x112): undefined reference to 'mbed::Timer::start()'
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x148): undefined reference to 'mbed::Timer::read_ms()'
    mDot.cpp:(.text._ZN4mDot8joinBaseERKm+0x174): undefined reference to 'osDelay'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(mDot.o): In function 'mDot::sendBase(std::vector<unsigned char, std::allocator<unsigned char> > const&, bool const&, bool const&, bool const&)':
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x234): undefined reference to 'mbed::Timer::Timer()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x23a): undefined reference to 'mbed::Timer::start()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x290): undefined reference to 'mbed::Timer::read_ms()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x2c6): undefined reference to 'osDelay'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x2d8): undefined reference to 'mbed::Timer::Timer()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x2de): undefined reference to 'mbed::Timer::start()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x33c): undefined reference to 'mbed::Timer::read_ms()'
    mDot.cpp:(.text._ZN4mDot8sendBaseERKSt6vectorIhSaIhEERKbS6_S6_+0x350): undefined reference to 'osDelay'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(MdotRadio.o): In function 'MdotRadio::SetAntSw(unsigned char)':
    MdotRadio.cpp:(.text._ZN9MdotRadio8SetAntSwEh+0x5c): undefined reference to 'mbed_assert_internal'
    MdotRadio.cpp:(.text._ZN9MdotRadio8SetAntSwEh+0x68): undefined reference to 'mbed_assert_internal'
    MdotRadio.cpp:(.text._ZN9MdotRadio8SetAntSwEh+0x74): undefined reference to 'mbed_assert_internal'
    MdotRadio.cpp:(.text._ZN9MdotRadio8SetAntSwEh+0x80): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(MdotRadio.o): In function 'MdotRadio::MdotRadio(osPriority)':
    MdotRadio.cpp:(.text._ZN9MdotRadioC2E10osPriority+0x50): undefined reference to 'gpio_init_out_ex'
    MdotRadio.cpp:(.text._ZN9MdotRadioC2E10osPriority+0x6c): undefined reference to 'gpio_init_out_ex'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(MdotRadio.o): In function 'MdotRadio::~MdotRadio()':
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0xc): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x14): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x1c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x24): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x2c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x34): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x3c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x44): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x4c): undefined reference to 'rtos::Thread::~Thread()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD2Ev[_ZN9MdotRadioD5Ev]+0x58): undefined reference to 'rtos::Mutex::~Mutex()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(MdotRadio.o): In function 'MdotRadio::~MdotRadio()':
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0xc): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x14): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x1c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x24): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x2c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x34): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x3c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x44): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x4c): undefined reference to 'rtos::Thread::~Thread()'
    MdotRadio.cpp:(.text._ZN9MdotRadioD0Ev[_ZN9MdotRadioD5Ev]+0x58): undefined reference to 'rtos::Mutex::~Mutex()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::read_status()':
    SpiFlash25.cpp:(.text._ZN10SpiFlash2511read_statusEv+0x18): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2511read_statusEv+0x20): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2511read_statusEv+0x3e): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2511read_statusEv+0x4a): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::wait_for_write()':
    SpiFlash25.cpp:(.text._ZN10SpiFlash2514wait_for_writeEv+0x6): undefined reference to 'wait_us'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::enable_write()':
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512enable_writeEv+0x18): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512enable_writeEv+0x32): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512enable_writeEv+0x3e): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::read(int, int, char*)':
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x2e): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x38): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x42): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x4a): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x5a): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x7e): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash254readEiiPc+0x8a): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::clear_sector(int)':
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x1e): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x28): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x32): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x3a): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x5c): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2512clear_sectorEi+0x68): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::write_page(int, int, char const*)':
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x22): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x2c): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x36): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x3e): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x50): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x76): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash2510write_pageEiiPKc+0x82): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::wakeup()':
    SpiFlash25.cpp:(.text._ZN10SpiFlash256wakeupEv+0x18): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash256wakeupEv+0x32): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash256wakeupEv+0x3e): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SpiFlash25.o): In function 'SpiFlash25::SpiFlash25(PinName, PinName, PinName, PinName, PinName, PinName, int)':
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x1c): undefined reference to 'mbed::SPI::SPI(PinName, PinName, PinName, PinName)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x32): undefined reference to 'gpio_init_out'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x4c): undefined reference to 'mbed::SPI::format(int, int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x54): undefined reference to 'mbed::SPI::frequency(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x70): undefined reference to 'gpio_init_out'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x9c): undefined reference to 'gpio_init_out'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0xca): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0xd2): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0xde): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0xea): undefined reference to 'mbed::SPI::write(int)'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x118): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x124): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x130): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x13c): undefined reference to 'mbed_assert_internal'
    SpiFlash25.cpp:(.text._ZN10SpiFlash25C2E7PinNameS0_S0_S0_S0_S0_i+0x148): undefined reference to 'mbed_assert_internal'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SetChannel(unsigned long)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127210SetChannelEm+0x10): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210SetChannelEm+0x5c): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SetRxConfig(SxRadio::RadioModems_t, unsigned long, unsigned long, unsigned char, unsigned long, unsigned short, unsigned short, bool, unsigned char, bool, bool, unsigned char, bool, bool)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetRxConfigEN7SxRadio13RadioModems_tEmmhmttbhbbhbb+0x54): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetRxConfigEN7SxRadio13RadioModems_tEmmhmttbhbbhbb+0x1b0): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetRxConfigEN7SxRadio13RadioModems_tEmmhmttbhbbhbb+0x2d4): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Rssi(SxRadio::RadioModems_t)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12724RssiEN7SxRadio13RadioModems_tE+0x10): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724RssiEN7SxRadio13RadioModems_tE+0x20): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724RssiEN7SxRadio13RadioModems_tE+0x38): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724RssiEN7SxRadio13RadioModems_tE+0x52): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Write(unsigned char, unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12725WriteEhh+0x18): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725WriteEhh+0x2c): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Read(unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12724ReadEh+0x12): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724ReadEh+0x28): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Terminate()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x16): undefined reference to 'mbed::InterruptIn::disable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x1e): undefined reference to 'mbed::InterruptIn::disable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x26): undefined reference to 'mbed::InterruptIn::disable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x2e): undefined reference to 'mbed::InterruptIn::disable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x36): undefined reference to 'mbed::InterruptIn::disable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x3e): undefined reference to 'rtos::Thread::terminate()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TerminateEv+0x48): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::TimeOnAir(SxRadio::RadioModems_t, unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TimeOnAirEN7SxRadio13RadioModems_tEh+0x16): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12729TimeOnAirEN7SxRadio13RadioModems_tEh+0x2a): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SignalMacEvent()':
    SxRadio1272.cpp:(.text._ZN11SxRadio127214SignalMacEventEv+0x4): undefined reference to 'rtos::Thread::signal_set(long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::OnRxTxTimeoutIrq(void const*)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127216OnRxTxTimeoutIrqEPKv+0x8): undefined reference to 'rtos::Thread::signal_set(long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::OnSyncTimeoutIrq(void const*)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127216OnSyncTimeoutIrqEPKv+0x8): undefined reference to 'rtos::Thread::signal_set(long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SX1272OnDioIrq()':
    SxRadio1272.cpp:(.text._ZN11SxRadio127214SX1272OnDioIrqEv+0x4): undefined reference to 'rtos::Thread::signal_set(long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SX1272IrqFskSyncMatch() [clone .part.2]':
    SxRadio1272.cpp:(.text._ZN11SxRadio127221SX1272IrqFskSyncMatchEv.part.2+0x8): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SetTxConfig(SxRadio::RadioModems_t, signed char, unsigned long, unsigned long, unsigned long, unsigned char, unsigned short, bool, bool, bool, unsigned char, bool, unsigned long)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetTxConfigEN7SxRadio13RadioModems_tEammmhtbbbhbm+0x48): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetTxConfigEN7SxRadio13RadioModems_tEammmhtbbbhbm+0x1d2): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211SetTxConfigEN7SxRadio13RadioModems_tEammmhtbbbhbm+0x2b2): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::ReadBuffer(unsigned char, unsigned char*, unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x16): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x38): undefined reference to 'mbed::SPI::write(int)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x4a): undefined reference to 'mbed::SPI::write(int)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x78): undefined reference to 'mbed_assert_internal'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x84): undefined reference to 'mbed_assert_internal'
    SxRadio1272.cpp:(.text._ZN11SxRadio127210ReadBufferEhPhh+0x6e): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::WriteBuffer(unsigned char, unsigned char const*, unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x16): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x38): undefined reference to 'mbed::SPI::write(int)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x4c): undefined reference to 'mbed::SPI::write(int)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x76): undefined reference to 'mbed_assert_internal'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x82): undefined reference to 'mbed_assert_internal'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211WriteBufferEhPKhh+0x6c): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SxRadio1272(PinName, PinName, PinName, PinName, PinName, PinName, PinName, PinName, PinName, PinName, osPriority)':
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x50): undefined reference to 'rtos::Mutex::Mutex()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x6a): undefined reference to 'rtos::Thread::Thread(void (*)(void const*), void*, osPriority, unsigned long, unsigned char*)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x8a): undefined reference to 'gpio_init_inout'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x9e): undefined reference to 'mbed::InterruptIn::InterruptIn(PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0xa6): undefined reference to 'mbed::InterruptIn::InterruptIn(PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0xae): undefined reference to 'mbed::InterruptIn::InterruptIn(PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0xc8): undefined reference to 'mbed::InterruptIn::InterruptIn(PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0xd2): undefined reference to 'mbed::InterruptIn::InterruptIn(PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0xe8): undefined reference to 'mbed::SPI::SPI(PinName, PinName, PinName, PinName)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x104): undefined reference to 'gpio_init_out_ex'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x118): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x126): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x134): undefined reference to 'rtos::RtosTimer::RtosTimer(void (*)(void const*), os_timer_type, void*)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x148): undefined reference to 'mbed::InterruptIn::mode(PinMode)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x150): undefined reference to 'mbed::InterruptIn::mode(PinMode)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x158): undefined reference to 'mbed::InterruptIn::mode(PinMode)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x160): undefined reference to 'mbed::InterruptIn::mode(PinMode)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x168): undefined reference to 'mbed::InterruptIn::mode(PinMode)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x184): undefined reference to 'gpio_irq_set'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x1a0): undefined reference to 'gpio_irq_set'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x1bc): undefined reference to 'gpio_irq_set'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x1d8): undefined reference to 'gpio_irq_set'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x1f4): undefined reference to 'gpio_irq_set'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x1fe): undefined reference to 'mbed::SPI::format(int, int)'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272C2E7PinNameS0_S0_S0_S0_S0_S0_S0_S0_S0_10osPriority+0x206): undefined reference to 'mbed::SPI::frequency(int)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Reset()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12725ResetEv+0xa): undefined reference to 'gpio_dir'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725ResetEv+0x10): undefined reference to 'wait_ms'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725ResetEv+0x18): undefined reference to 'gpio_dir'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725ResetEv+0x22): undefined reference to 'wait_ms'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Init(SxRadioEvents*)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x10): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x2a): undefined reference to 'mbed::InterruptIn::enable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x32): undefined reference to 'mbed::InterruptIn::enable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x3a): undefined reference to 'mbed::InterruptIn::enable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x42): undefined reference to 'mbed::InterruptIn::enable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x4c): undefined reference to 'mbed::InterruptIn::enable_irq()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724InitEP13SxRadioEvents+0x84): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Random()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12726RandomEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12726RandomEv+0x3a): undefined reference to 'wait_ms'
    SxRadio1272.cpp:(.text._ZN11SxRadio12726RandomEv+0x62): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Sleep()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SleepEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SleepEv+0x16): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SleepEv+0x20): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SleepEv+0x28): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SleepEv+0x44): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Standby()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12727StandbyEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12727StandbyEv+0x16): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12727StandbyEv+0x1e): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12727StandbyEv+0x28): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12727StandbyEv+0x44): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Rx(unsigned long)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12722RxEm+0x12): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12722RxEm+0x1b8): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12722RxEm+0x1c4): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12722RxEm+0x60): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12722RxEm+0x1d6): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SetTx(unsigned long)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SetTxEm+0x10): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SetTxEm+0x54): undefined reference to 'rtos::RtosTimer::start(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12725SetTxEm+0x66): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::Send(unsigned char const*, unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12724SendEPKhh+0x16): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724SendEPKhh+0x34): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio12724SendEPKhh+0x142): undefined reference to 'wait_ms'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::StartCad()':
    SxRadio1272.cpp:(.text._ZN11SxRadio12728StartCadEv+0xe): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12728StartCadEv+0x50): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SetModem(SxRadio::RadioModems_t)':
    SxRadio1272.cpp:(.text._ZN11SxRadio12728SetModemEN7SxRadio13RadioModems_tE+0x10): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio12728SetModemEN7SxRadio13RadioModems_tE+0x64): undefined reference to 'rtos::Mutex::unlock()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::OnTimeoutIrqBottom()':
    SxRadio1272.cpp:(.text._ZN11SxRadio127218OnTimeoutIrqBottomEv+0x86): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SX1272IrqTxDone()':
    SxRadio1272.cpp:(.text._ZN11SxRadio127215SX1272IrqTxDoneEv+0x8): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SX1272IrqFskRxDone(unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127218SX1272IrqFskRxDoneEh+0x42): undefined reference to 'rtos::RtosTimer::stop()'
    SxRadio1272.cpp:(.text._ZN11SxRadio127218SX1272IrqFskRxDoneEh+0x118): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::SX1272IrqLoraRxDone(unsigned char)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127219SX1272IrqLoraRxDoneEh+0xcc): undefined reference to 'rtos::RtosTimer::stop()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o):SxRadio1272.cpp:(.text._ZN11SxRadio127219SX1272IrqLoraRxDoneEh+0x114): more undefined references to 'rtos::RtosTimer::stop()' follow
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::RadioThread(void const*)':
    SxRadio1272.cpp:(.text._ZN11SxRadio127211RadioThreadEPKv+0x28): undefined reference to 'rtos::Mutex::unlock()'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211RadioThreadEPKv+0x34): undefined reference to 'rtos::Thread::signal_wait(long, unsigned long)'
    SxRadio1272.cpp:(.text._ZN11SxRadio127211RadioThreadEPKv+0x40): undefined reference to 'rtos::Mutex::lock(unsigned long)'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::~SxRadio1272()':
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0xc): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x14): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x1c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x24): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x2c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x34): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x3c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x44): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x4c): undefined reference to 'rtos::Thread::~Thread()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D2Ev[_ZN11SxRadio1272D5Ev]+0x58): undefined reference to 'rtos::Mutex::~Mutex()'
    ../libmDot\libmDot-1.0.8-1-g7ae9ef7-GCC_ARM.a(SxRadio1272.o): In function 'SxRadio1272::~SxRadio1272()':
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0xc): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x14): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x1c): undefined reference to 'rtos::RtosTimer::~RtosTimer()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x24): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x2c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x34): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x3c): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x44): undefined reference to 'mbed::InterruptIn::~InterruptIn()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x4c): undefined reference to 'rtos::Thread::~Thread()'
    SxRadio1272.cpp:(.text._ZN11SxRadio1272D0Ev[_ZN11SxRadio1272D5Ev]+0x58): undefined reference to 'rtos::Mutex::~Mutex()'
    collect2.exe: error: ld returned 1 exit status
    makefile:62: recipe for target 'test02.elf' failed
    make: *** [test02.elf] Error 1
    
    17:10:35 Build Finished (took 10s.360ms)
    
    in reply to: GCC libmDot for offline build #14618
    Damian Christie
    Participant

    I’m using Eclipse CDT, basically following this tutorial, altered to suit the mDot. I exported from the mbed browser IDE and copied in the mbed-src folder and the libmDot library from the download page.

    Damian Christie
    Participant

    What other goal could be made?

    For private messages to be invisible to public gateways. I originally thought that was the point of the sync word. Thanks for the help clarifying this.

    3rd party device may not be able to be configured to operate with the Private mode on Conduit.

    Good to know, thanks.

    Damian Christie
    Participant

    Using Private mode will filter out the number of packets that need to be processed if there are public network mDot’s in the area.

    This will only filter out most packets though, based on what we’re seeing. The goal is just reduction?

    Also since the network server resides at the gateway a shorter join delay of 1 second is used.

    In my set up I don’t have the on-board network server running. Public messages are sent by a private gateway to the remote server (the IP address of which is in global_conf.json) about 20-40% of the time. I’ll turn on the local server and see what happens.

    The Public mode is included in the gateway to allow 3rd party LoRaWAN devices to function with the on-board network server.

    Apologies, I’m a little lost here (can you tell?!). Does this mean that private is for mdots+onboard server, public is for 3rdparty devices+onboard server (which is still technically private because it uses the onboard server) and public and private are also both for 3rd party devices+remote server??

    Damian Christie
    Participant

    Not much concern. Just trying to understand a little better. What would be a use case of this particular feature?

    Damian Christie
    Participant

    That’s interesting.

    0x12 = 0b00010010
    0x34 = 0b00110100

    Only three bits need to be flipped and the message goes through. I wonder how much filtering is in place to offset the likelihood of that happening.

Viewing 17 posts - 1 through 17 (of 17 total)