ieee802154: Simplifies notify() and rxframe() calls to a single notify() call. dataind's and all other "notifs" are now "primitives" which aligns with standard terminology
* mac802154: Adds missing breaks from case statement
* sixlowpan: Fixes bad logic where ACK is not requested if address is not a broadcast
* ieee802154: Simplification of "notifs" and "datainds" to generic primitives passed via a single notify call to the layer above the MAC
* Directories.mk should reference CONFIG_WIRELESS instead of CONFIG_DRIVERS_WIRELESS
* xbee_netdev: Network must be locked when calling sixlowpan_input
* sixlowpan: Reassembly buffer can't be freed if provided by radio driver
* sixlowpan: Don't free IOB if there is an error processing it as the MAC will try to pass it along to another receiver
* ieee802154: Adds basic logging to ieee802154_primitive.c
* Minor fixes after rebase
* xbee: Adds AT query timeout to retry if XBee doesn't respond to request
* same70-xplained: Adds Xbee support. Makes mikroBus slot Kconfig 'choice'
* mac802154: Removes unused function declaration
* drivers/mrf24j40: Fixes compilation error using . operator rather than -> operator
* mac802154_device: Changes a few mac802154_primtive_free's to ieee802154_primitive_free() and changes notif to primitive in a couple places.
* mac802154: Adds promiscous mode logic to bypass parsing of incoming frames. MAC char device also checks for promiscous mode and passes whole frames including header and FCS to the application if promiscous mode is enabled.
* sixlowpan: Fixes logic to correctly check if packet is large enough to include header. This would cause packets to be considered too small when they are sufficiently sized.
* sixlowpan: Fixes forwarding logic to use forwarding device rather than received device to look up destination link layer address
* net/ipforward: Fixes typo that caused build error when IP forwarding was enabled with CONFIG_NET_ICMPv6_NEIGHBOR enabled as well.
* configs/same70-xplained: Simple spelling fix
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Fix GPIO operation of STMPE811 driver.
Fixed issues:
1. STMPE811_GPIO_DIR was defined for register name
and later was redefined to be the pin direction mask
for `stmpe811_gpioconfig`
I decided to change register name to be STMPE811_GPIO_DIR_REG,
and keep pin direction mask STMPE811_GPIO_DIR, so that any
external code that already use this driver will be unchanged.
2. The STMPE811 register GPIO_DIR uses bit value 1 for output
and 0 for input, but `stmpe811_gpioconfig` set the opposite.
3. The call to `stmpe811_gpiowrite` from inside of `stmpe811_gpioconfig`
leaded to deadlock.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
fs/userfs: This completes coding of the UserFS client and of the UserFS feature in general. This feature is being merged to main now because I believe it is innocuous. It is, however, untesed. The next step will be to develop a test case to verify the feature.
fs/userfs: Completes the request logic for the UserFS client. Still need the logic that receives the responses.
fs/userfs: Completes coding for most of the server side of the user filesystem logic.
fs/userfs: Big design changes, simplications. Use Unix domain local sockets instead of message queues. Easier to transfer big data in local sockets than message queues. Remove character drvier 'factory' it is not necessary.
fs/userfs: Minor reparitioning; volume private info does not need to be held on the OS client side.
libc/userfs: Add some of the server side logic.
fs/userfs: Add some UserFS initialization logic.
fs/userfs: Add frame work for the UserFS proxy. Remove all references to a block driver. There is no block dricer... what was I thinking?
fs/userfs: Add some initialization of the character driver, 'factory' device.
fs/userfs: Rename from fusefs to userfs to that we don't stomp on someone else's cool name.
Add a header file describing the fusefs interface.
Fix stm32 dmacapable on f20xx
* Fixed build for STM32F20XX platforms when CONFIG_STM32_DMACAPABLE is enabled
* Fixed build for STM32F20XX platforms when CONFIG_STM32_DMACAPABLE is enabled
Approved-by: Gregory Nutt <gnutt@nuttx.org>
This happened after adding these three new procfs entries:
fs/block
fs/mount
fs/usage
Of course, there is no directory fs in this case, only three files that have fs/ in their relative pathnames. The logic was detecting that fs was the name of the enty to report, but it was then declaring that fs was a file (because fs/block is of type file).
This was fixed by adding a check for matching lenghts. i.e., if strlen(fs) != strlen(fs/block), then report fs as a directory instead of a file.
fs/mount: Implements procfs /proc/fs/blocks and /proc/fs/usage files, replacing the NSH df command.
fs/mount: Implements procfs /proc/fs/mount file, replacing the NSH mount command when there are not arguments.
fs/: Move prototype of foreach_mountpoint out of include/nuttx/fs/fs.h to fs/mount/mount.h. Add framework for the mount procfs (initial commit is just a close of the net/route table procfs.
Port STM32F7 I2C driver to STM32L4
* arch/stm32l4: port STM32F7 I2C driver to STM32L4
STM32L4 I2C driver is in work-in-progress state (plentiful of
TODOs and #warnings) and lags many features found in more
up-to-date STM32 I2C drivers. The peripheral on STM32F7 and
STM32L4 are identical except for L4's 'wakeup from stop mode'
flag and STM32F7's I2C driver is in more 'ready to use' state.
Patch ports the STM32F7 I2C driver to STM32L4. The I2C clock
configuration is kept the same as before (I2CCLK = PCLK1 80 Mhz)
instead of switching to STM32F7 arch default that is I2CCLK=HSI.
Further work would be to add configuration option for choosing
I2C clock source instead of current hard-coded default.
* arch/arm/stm32f7: i2c: restore bus frequency after I2C reset
Copy frequency restoration fix from STM32L4 I2C driver to STM32F7 I2C driver.
* arch/arm/stm32f7: i2c: remove unused Kconfig option
* configs/nucleo-l496zg/nsh: enable I2C4 bus with i2ctool
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Squashed commit of the following:
net/icmpv6: IPPROT_ICMP6 socket logic now builds without error.
net/icmpv6: Add support for read-ahead and poll(). Initial commit is just cloned from ICMP with the appropriate name changes.
configs/: All defconfig filess that include CONFIG_NET_ICMPv6_SOCKET=y need to select CONFIG_SYSTEM_PING6=y and deselect CONFIG_DISABLE_POLL.
Update NSH documention to show that ping6 is now a built in command.
net/icmpv6: Add icmpv6_sendto.c and icmpv6_recvfrom.c. Initial versions are just clones from icmp/ with appropriate name changes.
net/icmpv6: Clone some ICMP socket logic as the beginning of support for ICMPv6 socket support.
Rename CONFIG_NET_ICMPv6_PING to CONFIG_NET_ICMPv6_SOCKET. Move prototype for icmpv6_ping from include/nuttx/net/icmpv6 to net/icmpv6/icmpv6.h
Squashed commit of the following:
net/icmp: Finishes off icmp_recvfrom().
net/icmp: Add readahead support for IPPROTO_ICMP sockets.
net/icmp: Add poll() support for IPPROTO_ICMP sockets.
net/icmp: Add a connection structure for IPPROTO_ICMP sockets.
net/icmp: Implements sendto for the IPPROTO_ICMP socket.
net/icmp: Move icmp_sendto() and icmp_recvfrom() to separate files. They are likely to be complex (when they are implemented).
net/icmp: Hook IPPROTO_ICMP sockets into network. Fix some naming collisions. Still missing basic ICMP send/receive logic.
configs: apps/system/ping current need poll() enabled.
configs: All defconfig files that use to enable low-level support must now enabled CONFIG_SYSTEM_PING.
net/icmp: Adds basic build framework to support IPPROTO_ICMP sockets.
Master
* stm32_hrtim: fix warnings related with RCC
* stm32f33xxx_adc: add some publicly visable interfaces and some code to support injected channels
* stm32f33xxx_dma: add public interface to handle with DMA interrupts
* stm32_hrtim: change some names and add some coments
* chip/stm32f33xxx_adc.h: cosmetics
* nucleo-f334r8: add logic for zero latency high priority interrupts example
* stm32: update some ADC-related configuration in Kconfig
Approved-by: Gregory Nutt <gnutt@nuttx.org>