Gregory Nutt
c123967fe9
Remove bluetooth firmware download logic of commit 05bbbec3e1
. It is in the wrong place.
2019-09-21 08:51:44 -06:00
Gregory Nutt
a9a49f5c12
Let's be consistent with the upload/ vs download. The host PC is up, the HCI is down. We can upload things to the host PC and we can download things to lower level peripherals.
2019-09-21 08:31:10 -06:00
Gregory Nutt
e2d80b6990
wireless/bluetooth/bt_hcicore.c: Bluetooth firmware download logic of commit 05bbbec3e1
breaks all bluetooth builds. This commit fixes that by making that firmware download configurable. It is disabled by default so that all of the pre-existing configurations will continue to build.
2019-09-21 08:07:21 -06:00
Dave Marples
05bbbec3e1
Add support for the BCM43438A1 Bluetooth capability. It also adds a serial 'shim' to allow any regular serial port that can support a Bluetooth H4 interface (i.e. it has RTS/CTS) to be used to drive a Bluetooth device (Get a handle to it via hci_uart_getdevice("/dev/xxx") and then pass it to the btuart_register function.
...
Most of the bluetooth and wifi chips appear to need external firmware, and the 43438 is no exception. Fortunately, since Cypress got involved, these are much more straightforward to obtain and are shipped as part of their SDK, which is downloadable from their website. Those firmwares are already provided as C arrays, so their names just need updating to;
const unsigned char bt_firmware_hcd -> The bt firmware array.
const int bt_firmware_len = sizeof(bt_firmware_hcd);
2019-09-21 07:16:37 -06:00
Gregory Nutt
cb340cbfdb
Correct more uses of C11 features in common code.
2019-08-24 17:59:26 -06:00
Anthony Merlino
70404ed0dc
Merged in antmerlino/nuttx/iobinstrumentation (pull request #1001 )
...
Iobinstrumentation
* mm/iob: Introduces producer/consumer id to every iob call. This is so that the calls can be instrumented to monitor the IOB resources.
* iob instrumentation - Merges producer/consumer enumeration for simpler IOB user.
* fs/procfs: Starts adding support for /proc/iobinfo
* fs/procfs: Finishes first pass of simple IOB user stastics and /proc/iobinfo entry
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-16 22:42:25 +00:00
Anthony Merlino
535db0140a
Merged in antmerlino/nuttx/wirelessnetdev (pull request #984 )
...
wireless network devices: Attach radio to d_buf before registering device to handle forwarding case.
When CONFIG_NET_IPFORWARD is enabled, and CONFIG_NET_6LOWPAN is being used, a packet that attempts to get forwarded on the 6LoWPAN interface will require that the radio's buffer be attached to d_buf. Otherwise the below exception will be hit.
~line 542 of sixlowpan_framelist.c
```
/* Recover the reassembly buffer from the driver d_buf. */
reass = (FAR struct sixlowpan_reassbuf_s *)radio->r_dev.d_buf;
DEBUGASSERT(reass != NULL);
```
The underlying "radio" in this case is the mac802154_netdev.
This behavior has probably not been observed because the buffer is normally attached in the periodic txpoll worker. However, in my case, the 6LoWPAN interace was not UP yet, and therefore the worker hadn't run yet.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 18:22:39 +00:00
Michał Łyszczek
626afb015b
nuttx/sched/mqueue: Change 'int prio' to 'unsigned int prio'. According to open group specification, priority field in mq_* functions should have unsigned type: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/mqueue.h.html
2019-02-15 19:18:55 -06:00
Lwazi Dube
701c8abbbb
wireless/bluetooth and include/nuttx/wireless/bluetooth: Remove unnecessary gatt ioctls
2018-12-08 12:58:27 -06:00
Lwazi Dube
b7fa409fc4
include/nuttx/wireless/bluetooth adn include/nuttx/wireless/bluetooth: Add SIOCBTCONNECT and SIOCBTDISCONNECT ioctl commands
2018-12-02 10:57:51 -06:00
Lwazi Dube
aee64102be
wireless/bluetooth/bt_hcicore.c: Add second RX work function
2018-11-30 06:34:18 -06:00
Lwazi Dube
08b37cc104
wireless/bluetooth/bt_att.c: Fix uninitialized variable.
2018-11-27 06:41:51 -06:00
Lwazi Dube
f1aa141d83
wireless/bluetooth/bt_conn.c: Fix uninitialized variable.
2018-11-25 15:50:07 -06:00
Gregory Nutt
6d93658ff8
Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP.
2018-10-31 15:03:51 -06:00
Gregory Nutt
ef3abe1423
Add missing function names in function headers.
2018-08-13 15:53:15 -06:00
Gregory Nutt
8c61c2f31b
Remove trailing spaces at the end of lines.
2018-08-13 07:39:38 -06:00
Gregory Nutt
668df010ec
Committed defconfigs for working configurations should never have CONFIG_EXPERIMENTAL set because the opens the doors for untested and incomplete configurations. Conversely, if there are released configurations that use features with dependencies on CONFIG_EXPERIMENTAL, then those configurations are in use and those dependencies should be removed:
...
graphics/vnc/server/Kconfig: Remove a dependency on CONFIG_EXPERIMENTAL
net/tcp/Kconfig: Remove a dependency on CONFIG_EXPERIMENTAL
wireless/bluetooth/Kconfig: Remove a dependency on CONFIG_EXPERIMENTAL
configs/lc823450-xgevk/audio/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lc823450-xgevk/bt/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lc823450-xgevk/ipl2/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lc823450-xgevk/nsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lc823450-xgevk/rndis/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lc823450-xgevk/usb/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/lpcxpresso-lpc54628/netnsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/moxa/nsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/olimex-stm32-p407/module/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/photon/wlan/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sabre-6quad/smp/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sam4cmp-db/nsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sama5d4-ek/elf/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sama5d4-ek/knsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/samv71-xult/module/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/samv71-xult/vnc/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/samv71-xult/vnxwm/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/bluetooth/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/pf_ieee802154/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/pktradio/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/sixlowpan/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/traveler/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/sim/userfs/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/stm32f4discovery/hciuart/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/stm32f4discovery/pseudoterm/defconfig: Remove CONFIG_EXPERIMENTAL=y
configs/teensy-3.x/usbnsh/defconfig: Remove CONFIG_EXPERIMENTAL=y
2018-06-17 10:30:01 -06:00
Gregory Nutt
ae44eb2969
tools/kconfig2html.c and wireless/bluetooth/Kconfig: Fixes needed to generate new configuration variable document.
2018-06-03 10:03:35 -06:00
Gregory Nutt
fd844f8eac
include/nuttx/wireless/bluetooth: Move Bluetooth header files from include/nuttx/wireless to include/nuttx/wireless/bluetooth for symmetry with other wireless technologies.
2018-04-29 12:43:09 -06:00
Gregory Nutt
0663e075ca
Trivial typo fix
2018-04-22 08:39:18 -06:00
Gregory Nutt
f188b35707
Update some comments.
2018-04-22 07:36:39 -06:00
Gregory Nutt
5a8a9e3aec
wireless/bluetooth: Adds implementation of GATT write IOCTL commands.
2018-04-21 08:55:58 -06:00
Gregory Nutt
87dd2dc16a
wireless/bluetooth: Adds implementation of GATT read IOCTL commands.
2018-04-21 08:38:08 -06:00
Gregory Nutt
8aa5b6c6ac
include/nuttx/wireless: Add support for the rest of the IOCTL options needed to support apps/wireless/bluetooth/btsak. This is only the IOCTL command definitions. The IOCTL command implementation is still missing.
2018-04-20 09:14:59 -06:00
Gregory Nutt
1d044e6952
Eliminate some warnings found in build-testing
2018-04-19 16:54:17 -06:00
Gregory Nutt
71b8d408e2
wireless/bluetooth: Add IOCTL commands to support MTU exchange.
2018-04-19 15:51:40 -06:00
Gregory Nutt
0a8dd2a778
wireless/bluetooth: Fix an attempt to use an uninitialized semaphore in the IOCTL logic.
2018-04-19 13:43:21 -06:00
Gregory Nutt
4eaa2b8306
wireless/bluetooth: IOCTL discover parameters need to persist throughout the discovery.
2018-04-19 11:57:15 -06:00
Gregory Nutt
2ebe8e99cc
wireless/bluetooth: Add support for IOCTL commands to perform GATT discovery and obtain the results.
2018-04-19 11:26:36 -06:00
Gregory Nutt
f27124dfc4
include/nuttx/wireless: Remove bogus name from structure. This was left over from a previous change and had me confused for awhile.
2018-04-19 09:14:48 -06:00
Gregory Nutt
44a5a7e170
wireless/bluetooth: Remove Rx kernel thread. The operation of dispatching messages can be performed just as well on the high and low priority work queue. The network driver operates the low priority work queue so that also integrates better with network frame reception.
2018-04-19 08:52:09 -06:00
Gregory Nutt
8ab2eb55d6
drivers/wireless: Add option to dump I/O buffers. Fix calculation of response length.
2018-04-18 12:46:47 -06:00
Gregory Nutt
c13e54de10
arch/arm/src/stm32: Fix an error in the HCI UART. It was setting 9- vs 8-bit word size.
2018-04-17 08:30:16 -06:00
Gregory Nutt
862ff9cae3
arch/arm/src/stm32/: In HCI UART, sense of RTS and CTS are inverted. When we speak of asserting RTS we mean setting nRTS to zero.
2018-04-16 17:14:51 -06:00
Gregory Nutt
949adaa4c9
bt_hcicore.c edited online with Bitbucket
2018-04-15 02:04:26 +00:00
Gregory Nutt
91ff7cc785
wireless/bluetooth: Soften use of enter_critical_sectino() which is a performance hog in SMP configurations. Replace with spin_lock_irqsave() in most cases. That is the same for single core CPUs, but much more efficient in SMP configurations. And better, repace with sched_lock() if there is really no necessity to disable interrupts too.
2018-04-14 17:55:30 -06:00
Gregory Nutt
9aa1c6c3d5
wireless/bluetooth: Use nxsem_timedwait() vs nxsem_wait() when waiting for response from the HCI device. Adding this timeout prevents things from hanging when there is a problem with the connect HCI UART (in the current test, when there is no HCI UART connected).
2018-04-14 15:09:12 -06:00
Gregory Nutt
5d2c226675
wireless/bluetooth and drivers/wireless/bluetooth: Simply the driver registration/initialization interface.
2018-04-14 11:33:29 -06:00
Gregory Nutt
fa287e8863
Various fixes/changes from intial testing of the HCI UART on the STM32F4-Discovery board. Re-organized how the Blutetooth network driver is initialized. Added lots of new debug output. Add a new STM32 F4 Discovery configuration for testing the HCI UART. Various fixes to get through initialization (still does not).
2018-04-14 09:23:08 -06:00
Gregory Nutt
0686989645
configs/stm32fdiscovery: Add support in bringup logic to initialize the HCI UART and register the HCI UART network device.
2018-04-13 14:53:11 -06:00
Gregory Nutt
d25549ac54
This commit adds a Bluetooth HCI UART lower half driver for the STM32
...
Squashed commit of the following:
arch/arm/src/stm32: Add Kconfig options needed by the HCI UART. Various fixes to finally get a clean error free compile with no unexpected warnings.
arch/arm/src/stm32: In HCI UART, use spin_lock_irqsave() instead of enter_critical_section() whenever possible.
arch/arm/src/stm32: In HCI UART, fix up naming of configurations so that they are unique. Still needs Kconfig settings. Modify logic so that there can be multiple HCI UARTs, some supporting DMA and some not.
arch/arm/src/stm32: Integrate watermarks and software Rx flow control into the HCI UART driver.
arch/arm/src/stm32: Eliminate some HCI UART UART configuration options. Per the HCI UART spec, the link will b 8 data bits, no parity, 1 stop bit... Always.
arch/arm/src/stm32: Trivial cleanup
arch/arm/src/stm32: Fixes most initial compilation issues STM32 HCI UART driver. Still need to set up USART configuration parmeters for HCI UART
arch/arm/src/stm32: Completes first cut at STM32 HCI UART driver.
arch/arm/src/stm32: Completes most of read logic for HCI UART. Still needs to be able to block if no read data is available. Still missing write and flush logic.
drivers/wireless: Remove txenable from HCI UART methods. arch/arm/src/stm32: Reorganize some structures in HCI UART.
arch/arm/src/stm32: Still messaging the HCI uart driver.
arch/arm/src/stm32: Some trivial renaming.
arch/arm/src/stm32: A little more HCI-UART logic.
arch/arm/src/stm32: Initial setup to support HCI-UART. Little more than the serial driver with some name changes and a few things removed.
2018-04-13 10:36:23 -06:00
Gregory Nutt
4fd814982d
drivers/bluetooth: Extend device simulation. Now makes it all the way through initialization without error. wireless/bluetooth: Add support for IOCTL commangs to get BR/EDR and LE features.
2018-04-06 16:22:49 -06:00
Gregory Nutt
ea84215059
drivers/bluetooth: Extend NULL driver to support a little more testing.
2018-04-06 14:07:03 -06:00
Gregory Nutt
5009c22f85
wireless/bluetooth: Implementat SIOCGBTINFO IOCTL command. Eliminated some redundancy.
2018-04-06 10:39:12 -06:00
Gregory Nutt
cab7ba8b8f
Bluetooth: Better integrate NuttX Bluetooth IOCTL commands and NetBSD IOCTL commands. Stanardize naming.
2018-04-06 09:42:41 -06:00
Gregory Nutt
39e393fa5f
net/bluetooth: Since the max header is always reported, the max frame size for purposes of allocation is the max header lenght plus the max payload, even though the frames with the max payload never have the max header length.
2018-04-05 16:40:59 -06:00
Juha Niskanen
797d9b1822
This commit adds a 1wire subsystem.
...
Squashed commit of the following:
Author: Gregory Nutt <gnutt@nuttx.org>
Some cosmetic changes from coding style review.
Author: Juha Niskanen <juha.niskanen@haltian.com>
drivers/1wire: add 1-wire subsystem and ds28e17 driver
2018-04-04 10:57:36 -06:00
Gregory Nutt
04b0ace6b0
wireless/bluetooth: With change the test with the simulated bluetooth driver can get all the way up the point where it determines that the attached controller is not LE capable. I am not sure how much first to take the simulation. The time would probably be better invested in bringing up real hardware.
2018-04-03 17:57:06 -06:00
Gregory Nutt
48dd0f3825
wireless/bluetooth: Fix some confusion in initialization of message queues.
2018-04-03 17:23:54 -06:00
Gregory Nutt
265b5d7dc6
wireless/bluetooth: A few trivial fixes from initial testing with the simulator. The simulated Bluetooth device is probably going to be in adequate for any level of testing.
2018-04-03 16:28:22 -06:00