Commit Graph

2722 Commits

Author SHA1 Message Date
Gregory Nutt
f35de73e69 RFB: Various fixes to header file 2016-04-17 16:49:47 -06:00
Gregory Nutt
e8f0965d35 Mostly cosmetic changes from review of last PR 2016-04-17 14:13:44 -06:00
Gregory Nutt
329acb075f Merged in ziggurat29/nuttx/stm32l4_qspi_001 (pull request #1)
add MTD support for Micron N25Qxxx family of QSPI flash
2016-04-17 14:00:19 -06:00
Gregory Nutt
6ce656f9f5 RFB: Fix size of length field in the Client/ServerCutText message 2016-04-17 13:37:52 -06:00
Gregory Nutt
52b308cbe1 NX: Add configurable callout to external logic to handle display update events 2016-04-17 11:57:43 -06:00
ziggurat29
1b9d837df3 add MTD support for Micron N25Qxxx family of QSPI flash 2016-04-17 12:20:07 -05:00
Gregory Nutt
aa64214877 FB: Add a display number to the framebuffer planeinfo structure 2016-04-17 10:08:27 -06:00
Gregory Nutt
c84b9d1110 RFB: Fix some errors in header file 2016-04-16 15:59:59 -06:00
Gregory Nutt
bba3b13470 RFB: Add macros to access big-endian values 2016-04-16 13:18:04 -06:00
Gregory Nutt
20e31640aa Finishes remote frame buffer header file 2016-04-16 12:33:08 -06:00
Gregory Nutt
276388a65d RFB: Initial, incomplete of VNC remote framebuffer definitions 2016-04-16 09:03:01 -06:00
Alan Carvalho de Assis
7f5339ee5a drivers/sensors/h1750fvi.c: Add a character driver for Rohm Ambient Light Sensor BH1750FVI. 2016-04-15 08:16:16 -06:00
Gregory Nutt
aa34429222 ASCII: Improve some naming 2016-04-14 16:20:36 -06:00
Gregory Nutt
46846c0c24 Framebuffer driver: Add a display number to each interface in order to support multiple displays 2016-04-14 12:23:15 -06:00
Gregory Nutt
39a37d6aa8 Separate out psock_listen() and psock_accept() for internal use by the OS 2016-04-14 08:39:48 -06:00
Gregory Nutt
81fe96e69a Fix trivial spacing problem in X11 keycode header file 2016-04-12 16:16:44 -06:00
Gregory Nutt
48b00cd873 Add X11 keypad encodings. These are used by other things other than X11.. like VNC. 2016-04-12 15:48:49 -06:00
Gregory Nutt
3fba968bb0 Fix an error when a task with open message queue descriptors is killed via task_delete(). Noted by Anton Gropyanov. 2016-04-11 11:14:18 -06:00
Gregory Nutt
6653c5cbf3 Signals: Correct implementation of sigset(). It is not just signal() with a different name; it has some additional signal mask handling functionality 2016-04-11 09:04:54 -06:00
Gregory Nutt
947aa792db Signals: Fix the macro that maps segset() to signal(). Parameters were not correct. 2016-04-10 16:41:50 -06:00
Gregory Nutt
28a4ca6713 libc/signal and include/signal.h: Rename sigset() to signal(). sigset() is the System V function; signal() is the obsoleted POSIX name. These seem to be equivalent. Neither are relevant in modern POSIX programming but the name signal() probably has better credentials. sigset() is now relegated to a #define in signal.h that makes it equivalent to signal(). 2016-04-10 14:35:45 -06:00
Gregory Nutt
8eb7898a91 RTC driver: A PID of zero should mean to notify the calling task 2016-04-10 09:12:50 -06:00
Kha Vo
20acc13393 Networking: IAR compiler does not tolerate empty unions 2016-04-10 09:11:50 -06:00
Gregory Nutt
4fbd79d1a8 rtc.h: Needs to include signal.h and time.h to avoid compile errors in certain contexts 2016-04-03 13:35:01 -06:00
Gregory Nutt
1135ce804d RTC: Extend interface by adding a method to set the alarm relative to the current time 2016-04-02 18:18:48 -06:00
Gregory Nutt
1767b21d3c Update submodules 2016-04-02 17:42:00 -06:00
Gregory Nutt
0723226bda RTC: Further simplications of the RTC driver interface; Add sample implem. 2016-04-02 13:55:58 -06:00
Gregory Nutt
58d6624f29 RTC: Simplify the RTC driver interface. Way too much stuff in that interface and it is not fully implemented anywhere. 2016-04-02 13:01:02 -06:00
Aleksandr Vyhovanec
3770b69572 Update compiler.h to support IAR compiler 2016-04-02 06:24:36 -06:00
Gregory Nutt
54dbec248e PM: Add domain to all PM interfaces. Internal PM data structures now handle multiple PM domains. 2016-03-27 13:03:47 -06:00
Gregory Nutt
dea4fe5d90 PM: Add activity domain to all PM callbacks 2016-03-27 11:19:39 -06:00
Gregory Nutt
8b21db7fc7 Backout some experimental stuff that was including in the lst commit 2016-03-27 10:20:02 -06:00
Gregory Nutt
970822b351 Add missing PM configuratin options to Kconfig file 2016-03-27 10:18:20 -06:00
Gregory Nutt
cc5a678a9e Extend boardctl() USB device control to include PL2303 serial 2016-03-25 16:01:59 -06:00
Gregory Nutt
3e4ae24387 Fix a few issues related to new USB device boardctl() commands 2016-03-25 14:23:27 -06:00
Gregory Nutt
9b9c374a83 Add basic definitions for control of USB devices via boardctl() 2016-03-25 10:52:39 -06:00
Gregory Nutt
4a962a36dd Add library functions to concatenate and move lists. Add scheduler function to merge prioritized function to merge prioritized lists (not yet used). 2016-03-23 08:00:58 -06:00
Gregory Nutt
d20db82fcb Scheduler instrumentation: Fix some associated with monitoring critical sections 2016-03-21 17:08:07 -06:00
Gregory Nutt
ccbf514233 Add task state to information recorded when a task is suspended 2016-03-21 15:24:15 -06:00
Gregory Nutt
f7b58e9dfd sched/: Move location (and form) of context switch instrumentation. 2016-03-21 14:08:31 -06:00
Gregory Nutt
242f8ff25f drivers/syslog/note_driver.c: Add a driver that will allow an application to read buffered scheduler instrumentation data 2016-03-17 14:46:00 -06:00
Gregory Nutt
7f19631338 sched/: Add option to buffer scheduler instrumentation data in memory. 2016-03-17 09:49:43 -06:00
Max Neklyudov
1951b9df57 Improve m25px driver 2016-03-17 07:37:45 -06:00
Gregory Nutt
0369facbd5 Fix some spacing 2016-03-16 11:01:19 -06:00
Gregory Nutt
e879d0f423 Move scheduler instrumentation hooks out of sched.h (where they seem like application interfaces) and into nuttx/sched.h where it is clare that these are OS internal interfaces. 2016-03-16 11:00:31 -06:00
Gregory Nutt
5675600946 Correct some comments 2016-03-13 12:08:09 -06:00
Gregory Nutt
2225940155 SMP: Add per-CPU initialization logic 2016-03-13 07:16:56 -06:00
Gregory Nutt
79c1fa5bd7 SMP: Simplified SMP interfaces 2016-03-12 15:29:33 -06:00
Gregory Nutt
24468128de TLS: Simplify 2016-03-11 07:17:32 -06:00
Gregory Nutt
934069e422 TLS: Add logic to get/set arbitrary TLS values 2016-03-10 19:31:22 -06:00
Gregory Nutt
d69dc04d96 TLS: Fix an error in a macro 2016-03-10 18:10:44 -06:00
Gregory Nutt
30b6ee96c9 Add basic definitions for TLS support 2016-03-10 11:56:33 -06:00
Gregory Nutt
6a056479d2 Add a some missing FAR in shared header files 2016-03-09 18:12:41 -06:00
Gregory Nutt
c7e7bda830 MTD struct mtd_geometry_s: Increase the size of blocksize again. Yes, there are devices with block size greater than 64KB. 2016-03-09 07:42:34 -06:00
Stefan Kolb
fde277a388 Missing parentheses in MSEC2TICK macro can lead to incorrect conversions 2016-03-09 07:24:16 -06:00
Gregory Nutt
9b5e88af71 Update some comments 2016-03-06 13:50:26 -06:00
Gregory Nutt
5d63cd85c7 sched/semaphore: Add an internal interface to reset a semaphore count. 2016-03-05 07:33:24 -06:00
Gregory Nutt
300edb9b0f Update ChangeLog 2016-02-27 10:37:42 -06:00
Gregory Nutt
3c5cd96646 Remove definitions for unsupported protocol families and address families 2016-02-27 07:59:26 -06:00
Gregory Nutt
fdddebbffd net/: Finish IEEE802154->6LOWPAN renaming; remove PF_IEEE804154; Move 6LoWPAN menu to inside Internet Protocol Menu 2016-02-27 07:26:20 -06:00
Sebastien Lorquet
dc7adfa817 drivers/wireless/ieee802154/Kconfig
drivers/wireless/ieee802154/Make.defs
    Changes to the build infrastructure to include the mrf24j40 driver

include/nuttx/spi/spi.h
    Define a IEEE SPI device

include/nuttx/wireless/ieee802154/ieee802154_radio.h
    This file defines the API of a IEEE 802.15.4 radio device, to be used by the future common MAC 802.15.4 layer

drivers/wireless/ieee802154/mrf24j40.c
drivers/wireless/ieee802154/mrf24j40.h
    The main MRF24J40 IEEE 802.15.4 radio driver

include/nuttx/wireless/ieee802154/mrf24j40.h
    This file allows instanciation of the MRF24j40 driver from board configurations
2016-02-26 18:39:27 -06:00
Gregory Nutt
d84fa1689a Add include/nuttx/wireless/ieee802154 directory (with dummy header file) 2016-02-26 17:32:37 -06:00
Gregory Nutt
cfe018e991 Rename CONFIG_WIRELESS to CONFIG_DRIVERS_WIRELESS 2016-02-26 16:50:26 -06:00
Gregory Nutt
309beae2cd Move drivers/ieee802154 to drivers/wireless/ieee802154; rename include/nuttx/net ieee802154 to 6lowpan.h 2016-02-26 15:03:16 -06:00
Gregory Nutt
2f28ca86c2 Clean up some naming; rename net/ieee802154 to net/6lowpan 2016-02-26 10:08:36 -06:00
Gregory Nutt
9ff645a298 drivers/ieee802154: Add a skeleton IEEE802154 driver 2016-02-25 15:11:30 -06:00
Gregory Nutt
e4e6181098 net/: IEEE 802.15-4 basic build build structure. 2016-02-25 10:43:51 -06:00
Gregory Nutt
1ed1765e1a sys/socket.h: Add IEEE802.15-4 protocol family 2016-02-25 08:19:10 -06:00
Alan Carvalho de Assis
ea15ead6cc RGB LED driver 2016-02-22 08:43:32 -06:00
Gregory Nutt
143d287f11 Fix some missing header file inclusions and a misplaced semi-colon from recent commits 2016-02-21 11:27:55 -06:00
Gregory Nutt
f3356fee5b SMP: Add macros to CPU set manipulation to sched.h 2016-02-20 18:45:07 -06:00
Gregory Nutt
0eadf1dcad Costmetic change + update submodules 2016-02-20 14:57:05 -06:00
Gregory Nutt
5a590e99b9 Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity() 2016-02-19 18:13:06 -06:00
Gregory Nutt
a633353ec3 Add a CPU affinity set to the TCB if SMP is enable and use this CPU set as a mask for determining which CPUs the thread may run on. Add an affinity field to the attrributes to permit controlling which CPUs a pthread may run on. Implements pthread_att_setaffinity_np() and pthread_attr_getaffinity_np(). 2016-02-19 17:33:35 -06:00
Gregory Nutt
2075eb7932 Fix a typo introduced in the last commit and a file that was missed in the last commit 2016-02-19 16:03:01 -06:00
Gregory Nutt
72d3920295 Rename cpuset_t to cpu_set_t which is the type used in some non-standard Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h. Add prototypes for sched_setaffinity(), sched_getaffinity(), pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(), pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation is yet in place. 2016-02-19 15:57:07 -06:00
Gregory Nutt
050b3ee06a profcs task status will now show CPU is SMP is enabled 2016-02-19 15:34:36 -06:00
Gregory Nutt
1780000777 SMP: Setting bit for wrong CPU. Assertion has cause false alarm crashes.. 2016-02-18 12:31:21 -06:00
Gregory Nutt
52fbbaf778 1. SMP: Fix an assertion. SMP-specific change accidentally made in non-SMP code
2. Move list of signal actions from the task TCB to the task group.  Signal handlers are a property of the entire task group and not of individual threads in the group.  I know, I preferred it the other way too but this is more compliant with POSIX.
2016-02-18 08:34:54 -06:00
Gregory Nutt
95735519dd SMP: Cosmetic renaming to clarify functionality of SMP interfaces. Update comments. 2016-02-17 13:36:25 -06:00
Gregory Nutt
b50325bb38 SMP: Add funtions to perform atomic bit set/clear operations; fix two errors in SMP macros 2016-02-17 13:20:01 -06:00
Gregory Nutt
6aeb4a52e8 Performance improvement: Idle loop should not take MM semaphore if there is not garbage to be collected. This can cause loss of performance and thrashing in tasking 2016-02-16 19:33:22 -06:00
Gregory Nutt
384e51cb05 Add some additional schedule instrumentation 2016-02-16 15:21:45 -06:00
Gregory Nutt
55d33fd912 Update some comments 2016-02-16 07:50:18 -06:00
Gregory Nutt
8ea1bc3188 SMP: Fix backward spinlock test 2016-02-15 11:06:54 -06:00
Gregory Nutt
9cb2a6b1f9 Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore() 2016-02-14 16:19:15 -06:00
Gregory Nutt
88c17bb4f2 nuttx/graphics and include: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 15:09:28 -06:00
Gregory Nutt
97cbd7112f SMP: Implement enter/leave_critical_section 2016-02-13 10:23:16 -06:00
Gregory Nutt
8ac699b63d SMP: Need to perform all IDLE task memory allocations on initializatin thread prior to starting the other CPUs 2016-02-13 09:04:54 -06:00
Gregory Nutt
64b3ce8775 SMP: Add up_cpustart and up_cpurestart protoypes; fix some problems in sched_addreadytorun; first cut at SMP version of up_mergepending. 2016-02-12 16:13:14 -06:00
Gregory Nutt
85f663a8ee SMP: Add non-reentrant spinlocks, fix pre-emption controls with SMP, and most of the basic scheduler support for SMP (still missing a few things) 2016-02-12 14:55:31 -06:00
Gregory Nutt
c315479a04 SMP: Move IDLE thread init logic from sim to OS; need to assign unique IDs to each IDLE task 2016-02-11 14:11:26 -06:00
Gregory Nutt
49227fa554 Scheduler: Replace the boolean 'prioritized' with a uint8_t bit set so that additional attributes of a list can be specified without adding more boolean values. 2016-02-11 08:06:33 -06:00
Gregory Nutt
baac92cda2 Correct some columnar alignment 2016-02-10 16:55:37 -06:00
Gregory Nutt
292d2fe648 Correct naming of a TCB flag; update some comments 2016-02-10 16:53:34 -06:00
Gregory Nutt
96223cedf1 SMP: A little more 2016-02-10 15:43:05 -06:00
Gregory Nutt
8a1789ba11 Update ChangeLog 2016-02-10 14:58:55 -06:00
Gregory Nutt
3147dfc7d5 SMP: Add some tentative initialization logic 2016-02-10 13:49:27 -06:00
Gregory Nutt
47a5663f8c SMP: A few preliminary data structure definitions 2016-02-10 11:45:26 -06:00
Gregory Nutt
f5a3b1e89d Add EXPERIMENTAL configuration option to investigate some SMP issues 2016-02-10 10:27:48 -06:00
Gregory Nutt
2c0ad2564f Add CONFIG_SPINLOCK. Also need spinunlock() and spinlock_initialize() 2016-02-09 15:31:14 -06:00
Gregory Nutt
b022f1e9d8 Add basic support for spinlocks (not currently used by anything) 2016-02-09 13:48:59 -06:00
Gregory Nutt
0af9a197ac ARP: Add IOCTL commands to manage the ARP table 2016-02-08 11:17:22 -06:00
Gregory Nutt
12f95c6f6b Add procfs/kmm to show the state of the kernel heap 2016-02-06 11:35:30 -06:00
Gregory Nutt
50cf53914c Update submodule; Improve some comments 2016-02-05 10:23:39 -06:00
Gregory Nutt
0984104a9a init.h: Trivial clean-up 2016-02-05 09:25:12 -06:00
Gregory Nutt
2dc258986d Add a state variable that provides the current level of OS initialization. This is needed by some logic that may attempt to run early in the start-up sequence, but cannot run if a sufficient level of initializaitn has not not yet occurred 2016-02-05 08:34:03 -06:00
Gregory Nutt
dea24c503a Networking: Remove the HSEC argument from devif_timer. 2016-02-03 12:12:41 -06:00
Gregory Nutt
8fa9b99e7c I2C driver should support the RESET method as well 2016-02-03 07:32:25 -06:00
Gregory Nutt
03d868be3c I2C: Fix a naming error 2016-02-02 14:23:33 -06:00
Gregory Nutt
9ce58ad5b7 I2C: up_i2creset should not be a global function; Now it is an I2C interface method 2016-02-02 11:21:48 -06:00
Gregory Nutt
4a34a199dd I2C: Add an I2C character driver 2016-02-02 08:30:54 -06:00
Gregory Nutt
4304405bba I2C Slave: I don't think that the setfrequency method makes sense in a slave interface. 2016-02-02 06:07:51 -06:00
Gregory Nutt
456b5f06dc Clean up some comments 2016-02-01 19:52:16 -06:00
Gregory Nutt
69ce24c70c I2C: Remove the setfrequency method from the interface 2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b Add I2C frequency to the i2c_msg_s structure 2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3 I2C: Remove setaddress method 2016-02-01 12:14:31 -06:00
Gregory Nutt
ecdc428086 Remove the read and write methods from the I2C interface 2016-02-01 09:22:22 -06:00
Gregory Nutt
8c9bddf998 I2C: Eliminate the I2C_WRITE and I2C_READ macros 2016-02-01 08:57:22 -06:00
Gregory Nutt
10000841a8 The I2C_TRANSFER method is no longer optional 2016-01-31 14:16:05 -06:00
Gregory Nutt
9370b94241 compiler.h: Missing IOBJ/IPTR definitions for the ZDS-II toolchain 2016-01-31 12:44:44 -06:00
Gregory Nutt
af335827d0 Update ChangeLog 2016-01-30 11:27:49 -06:00
Gregory Nutt
cccfb11e38 Forgot to add a file in the last commit 2016-01-30 08:49:20 -06:00
Gregory Nutt
3a781a2d3f Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s. 2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h 2016-01-30 08:00:16 -06:00
Vladimir Komendantskiy
19feab1bd6 drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper half driver for the U-Blox Modem. From Vladimir Komendantskiy 2016-01-30 07:37:43 -06:00
Entinger Alexander
dc8c14aa53 Driver for the 24-Bit Differential Input ADC ADS1242 that communicates via SPI with a MCU. Reading the ADC conversion result as well as configuring the ADC, setting the input channel, etc. is implemented via ioctl calls. However, it does not yet implement the standard ADC interface. 2016-01-29 07:41:23 -06:00
Gregory Nutt
fd896330d8 Remove the final vestiges of up_spiinitialize() 2016-01-27 09:27:56 -06:00
Gregory Nutt
11dab241de SPI slave: Prototype for MCU-specific slave initialization function removed from spi_slave.h 2016-01-26 13:04:12 -06:00
Gregory Nutt
b6b3c2be3e Add I2C_TRANSFER based wrappers for I2C_TRANSFER as well 2016-01-26 10:57:51 -06:00
Gregory Nutt
d4a53ee131 I2C: Eliminate the I2C_WRITEREAD method 2016-01-26 10:26:16 -06:00
Gregory Nutt
67f38169b2 drivers/i2c: Move wrapper that implements I2C_WRITEREAD using I2C_transfer from pc9555.c to a new, comon i2c directory 2016-01-26 09:58:18 -06:00
Gregory Nutt
eac271413f Add more 32-bit math operations; Update ChangeLog 2016-01-25 11:19:25 -06:00
Gregory Nutt
047ed9e543 Add some utilities to support 64-bit math operations on platforms that do not support long long types. Not yet used anywhere 2016-01-25 09:56:00 -06:00
Gregory Nutt
564a1ce606 Cosmetic clean-up of comments 2016-01-24 08:21:55 -06:00
Gregory Nutt
a4a496ad6f spi.h needs to include errno.h now 2016-01-23 19:13:31 -06:00
Gregory Nutt
7edf921c5e Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:54:36 -06:00
Gregory Nutt
accd99db25 Add an optional hwfeatures method to the SPI interface 2016-01-23 15:12:45 -06:00
Gregory Nutt
84d4cb007b clock_systimer: 64-bit timer accesses are not atomic. Noted by Freddie Chopin. 2016-01-22 12:24:36 -06:00
Gregory Nutt
2dcebe1e3d Purely cosmetic changes from review of last commit 2016-01-22 07:11:29 -06:00
Stefan Kolb
2b05f3e830 I/O Expander: Fix some bad macros, make naming consisted 2016-01-22 07:08:59 -06:00
Gregory Nutt
032ad1b70b Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer 2016-01-21 16:49:24 -06:00
Gregory Nutt
7db9a952bc Fix an error in conditional compilation introduced in the last set of changes 2016-01-21 13:42:34 -06:00
Gregory Nutt
f348e68069 Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00
Gregory Nutt
3a59eb4340 Fix romdisk_register prototype. Most ROMFS images actually lie in RAM. If moved to FLASH with const storage class, then changes are required to avoid warnings 2016-01-20 13:04:07 -06:00
Gregory Nutt
f849116a0b Add implementatino of Tiny Encryption Algorithm 2016-01-19 16:37:45 -06:00
Gregory Nutt
e73ccd6638 Update some comments 2016-01-18 16:27:46 -06:00
Frank Benkert
da33ec6b2e CAN: Add more extensive error reporting information 2016-01-18 12:22:27 -06:00
Gregory Nutt
9844036a74 Merged in paulpatience/nuttx/lsm9ds1 (pull request #48)
Add LSM9DS1 accelerometer, gyroscope and magnetometer
2016-01-17 15:06:37 -06:00
Paul A. Patience
57b8a9526d Add LSM9DS1 accelerometer, gyroscope and magnetometer 2016-01-17 16:01:14 -05:00
Gregory Nutt
63301fe213 Cosmetic changes from review of last pull request 2016-01-17 14:52:11 -06:00
Janne Rosberg
fb1bf10a3d add pn532 support
Signed-off-by: Janne Rosberg <janne.rosberg@offcode.fi>
2016-01-17 22:17:49 +02:00
Alexander Entinger
75d6c4cee3 drivers/sensors/mcp9844: Driver for the MCP9844 I2C digital temperature sensor with a selectable resolution 2016-01-15 07:25:58 -06:00
Gregory Nutt
0889963b50 resolv.conf: Fix some basic compilation issues. Logic still not complete. 2016-01-14 08:32:20 -06:00
Gregory Nutt
8e9f884eb7 Step 1 in /etc/resolv.conf support 2016-01-13 15:06:44 -06:00
Gregory Nutt
fbb4dcc0af Some networking logic was used helpers from apps/netutils. Not good. Quick fix is to duplicate logic 2016-01-09 15:57:44 -06:00
Gregory Nutt
1ac6ecac87 Changes to last pull request needed for conformance with coding standard 2016-01-09 07:27:22 -06:00
Dimitry Kloper
d219f3a36e Introduce arch-specific debug macro hooks
Make it possible for arch code to provide hook macros for NuttX dbg
that will lead to arch-specific syslog() and lowsyslog() variants.
2016-01-09 14:28:12 +02:00
Gregory Nutt
b28bf55fb0 Cosmetic spacing change 2016-01-05 14:52:20 -06:00
Gregory Nutt
670ac9fb2f Fix an ommission in compiler.h 2016-01-05 14:46:49 -06:00
Dimitry Kloper
06438b0dcc Fix 64-bit clock-related constant value evaluation for AVR compiler
This may be specific for Atmel AVR8 toolchain compiler.
The problem is that despite of being 8-bit architecture
avr-gcc supports uint64_t, but the following code

uint64_t value = 10000 * 1000;

produces a wrong negative value in the final code (tested
both with and without optimization).

The work-around is simple:

uint64_t value = 10000 * 1000L;

The code is a reduced part from sched/signal/sig_timedwait.c where
waitticks64 is calculated using NSEC_PER_TICK. This one is defined
as USEC_PER_TICK * NSEC_PER_USEC which leads to the example above.
2016-01-05 12:02:02 -06:00
Dimitry Kloper
06d83c6261 Introduce support for Atmel toolchain in-flash strings
Atmel toolchain AVR compiler provides a transparent in-flash object support using __flash and __memx symbols. The former indicates to compiler that this is a flash-based object.  The later used with pointer indicates that the referenced object may reside either in flash or in RAM. The compiler automatically makes 32-bit pointer with flag indicating whether referenced object is in flash or RAM and generates code to access either in run-time. Thus, any function that accepts __memx object can transparently work with RAM and flash objects.

For platforms with a Harvard architecture and a very small RAM like AVR this allows to move all constant strings used in trace messages to flash in the instruction address space, releasing resources for other things.

This change introduces IOBJ and IPTR type qualifiers.  The 'I' indicates that the object may like in instruction space on a Harvard architecture machine.

For platforms that do not have __flash and __memx or similar symbols IOBJ and IPTR are empty, making the types equivalent to, for example, 'const char' and 'const char*'.  For Atmel compiler these will become 'const __flash char' and 'const __memx char*'.  All printf() functions and syslog() functions are changed so that the qualifier is used with the format parameter.

From: Dimitry Kloper <dikloper@cisco.com>
2016-01-05 10:29:29 -06:00
Dimitry Kloper
b48ca00cd5 The delay parameter has 'int' type while explicit int32_t is used in sigtimedwait() (sig_timedwait.c) This can lead to wrong argument for systems that have default int size different than int32 (namely AVR). 2016-01-05 07:58:04 -06:00
Gregory Nutt
b1938c065d sys/time.h: Fix timersub macro; time_t is unsigned 2015-12-31 09:05:35 -06:00
Gregory Nutt
c1fff4706c signals: Adds a very limited, minimal implementation for SIGEV_THREAD 2015-12-30 15:01:14 -06:00
Gregory Nutt
849df03d22 Update dates on files modified for SIGEV_THREAD support 2015-12-30 13:28:39 -06:00
Gregory Nutt
9835eeb181 signals: Basic framework to support SIGEV_THREAD 2015-12-30 13:20:31 -06:00
Gregory Nutt
e76e8f41c6 pthread: Correct default schedule policy 2015-12-30 12:18:24 -06:00
Manuel Stühn
4350b0ba0c Move macros timeradd() and friends from time.h to sys/time.h. 2015-12-24 07:09:39 -06:00
Gregory Nutt
7110634a38 Trivial typo fix in a comment 2015-12-23 16:09:49 -06:00
Gregory Nutt
5d84cd5d11 Improve a few comments 2015-12-23 15:17:16 -06:00
Manuel Stühn
3002023798 time.h: Add timeradd(), timersub(), timerclear(), timerisset(), and timercmp() as macros. These are non-POSIX interfaces, but included in most BSD deriviatives, included Linux. From Manuel Stühn 2015-12-23 15:13:01 -06:00
Gregory Nutt
b90da3f27b waitpid: CRITICAL BUGFIX. Add a reference counting mechansim to prevent wait from using stale memory that was freed by the exiting task 2015-12-22 11:48:17 -06:00
Gregory Nutt
8ab93fdf98 Change name of drivers/discrete back to drivers/ioexpander 2015-12-15 08:40:34 -06:00
Gregory Nutt
78f2ce05f8 drivers: Move discrete user LED drivrs from drivers/discrete to drivers/leds 2015-12-15 08:23:53 -06:00
Gregory Nutt
d62a626703 Adds a driver for the PCA9635PW I2C LED driver IC which can be used to control the intensity of up to 16 LEDs. From Alexander Entinger 2015-12-15 08:05:10 -06:00
Gregory Nutt
e8d0f85c8b Modules: Add mod_setsymtab to set global symtol table once. Now we can remove symbol table parameters from the insmod call. This will make implementing an NSH insmod command much easier 2015-12-13 08:10:01 -06:00
Gregory Nutt
795ddd7e80 OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod 2015-12-12 17:42:25 -06:00
Gregory Nutt
a908a61c5a Various module-related cosmetic changes 2015-12-12 12:55:50 -06:00
Gregory Nutt
303123deb9 Add syscall support for insmod and rmmod 2015-12-12 11:11:09 -06:00
Gregory Nutt
040835de00 Add an implementation of rmmod 2015-12-12 10:51:54 -06:00
Gregory Nutt
49554fe4fc Move module support from binfmt/ to sched/ so that it can be configured and built independently from binfmt features 2015-12-12 07:09:17 -06:00
Gregory Nutt
44e45f0f91 insmod is code complete and ready for test 2015-12-11 10:55:21 -06:00
Gregory Nutt
05cb7a9043 Call initializer entry point on start-up; do not create a task 2015-12-11 07:27:45 -06:00
Gregory Nutt
251e8395c7 Mostly cosmetic renaming to straighten out namespace 2015-12-10 16:56:10 -06:00
Gregory Nutt
8bcf35ff39 binfmt/libmodule: Add support for kernel modules. Initial commit is just the ELF module support with name changes 2015-12-10 09:53:31 -06:00
Gregory Nutt
8fdb173090 drivers/net/telnet.c: Now works like the loop device. A new interface called telnet_initialize() registers a telnet session "factory" device at /dev/telnet. Via ioctl, the factory device can create instances of the telnet character devices at /dev/telnetN to support Telnet sessions. 2015-12-07 13:48:06 -06:00
Gregory Nutt
057b6aef2c drivers/net: Move the Telnet driver from apps/netutils/netnetd to drivers/net 2015-12-07 09:26:57 -06:00
Gregory Nutt
7be7579f59 Back out 522f95abe87d71c7025f2f358a8f350134e284b2: What was I thinking? 2015-12-02 10:47:32 -06:00
Gregory Nutt
acd3b47def Fix problem in last change to the procfs: Forgot to save the reallocated table pointer!
Also added warnings:  There are some concurrency issues in the current implementation if you try to modify the procfs data structures will the procfs is mounted and possibly busy.
2015-12-02 05:20:02 -06:00
Gregory Nutt
7483ed38ce Fix some procfs registration typos 2015-12-01 16:31:40 -06:00
Gregory Nutt
ad64c033e7 s/procfs: The procfs file system can now be configured so that it supports a runtime registration of procfs entries with CONFIG_FS_PROCFS_REGISTER=y 2015-12-01 14:56:20 -06:00
Ken Pettit
5821af1bbe drivers/mtd: Add support for /dev/smart loop device. From Ken Petit 2015-11-28 09:00:26 -06:00
Gregory Nutt
eb8668b0f7 net/: Add procfs support for network device status 2015-11-27 16:39:14 -06:00
Gregory Nutt
5d1557b28d Fix an error in a network device statistics macro 2015-11-26 14:44:07 -06:00
Gregory Nutt
f41ad9caa1 netdev.h: Fix a typo in a type name 2015-11-26 13:41:57 -06:00
Gregory Nutt
8075a67803 include/nuttx/net/netdef.h: Add a missing macro 2015-11-26 12:51:45 -06:00
Gregory Nutt
2a93c66948 include/nuttx/net/netdev.h and several Ethernet drivers in arch/: Most network drivers to not support statistics. Those that do only support them when DEBUG is enabled. Each driver collects an architecture specific set of statistics and there is no mechanism in place to view those statistics. Thus, the driver feature was mostly useless. This change standardizes the driver statistics and puts the definition in the common network device structure defined in netdev.h where they can be accessed by network applications. All Ethernet drivers that collect statistics have been adapted to use these common statistics. 2015-11-26 12:08:09 -06:00
Gregory Nutt
603f3afd6d Some minor clean-up from last changes 2015-11-25 17:52:47 -06:00
Gregory Nutt
ed35eb0f8d drivers/loop: Add a loop character device that can be used to setup and teardown loop devices 2015-11-25 17:13:56 -06:00
Ken Pettit
d4a58af380 drivers/mtd/mtd/mtd_procfs/c and include/nuttx/mtd/mtd.h: Add an interface to un-regiser an MTD procfs entry.
drivers/mtd/filemtd.c:  New new MTD conversion layer that will convert a regular file (or driver file) to an MTD device.  This is useful for testing on the simulation using the hostfs.

From Ken Petit
2015-11-25 14:46:28 -06:00
Gregory Nutt
e5f27f5865 Fix some conditional compilation. CONFIG_LIBC_LOCALTIME should be checked in most of the same places wehre CONFIG_TIME_EXTENDED is checked 2015-11-25 12:51:45 -06:00
Ken Pettit
c0b9dcf8a9 fs/hostfs: Add a special file system for use with simulator that supports access to the host file system from the simulation. From Ken Petit 2015-11-25 08:26:26 -06:00
Gregory Nutt
cd7c6705a8 mm.h: Use UINT32_MAX vs. SIZE_MAX in definition of MMSIZE_MAX 2015-11-25 08:11:32 -06:00
Gregory Nutt
6230e6e199 size_t should be 64-bits on a 64-bit machine. mmsize_t should be 32-bits (unless CONFIG_MM_SMALL is selected). This commit backs out the last change to stddef.h 2015-11-23 12:03:36 -06:00
Gregory Nutt
25ab59bf80 stddef.h: Use a round-about cast in the definition of offsetof() to avoid warnings on machines with 64 bit addresses and when size_t is less than 64-bits. 2015-11-23 07:11:05 -06:00
Ken Pettit
375419eaf2 mksmartfs: Remove fs/smartfs/fs_mksmartfs.c and related headers. This has been moved to apps/fsutils/mksmartfs. From Ken Petit 2015-11-23 07:05:09 -06:00
Gregory Nutt
54549ef082 Revert "Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'"
This reverts commit 96faf0fa3251ca10a17daddc728d931be5a206e0.
2015-11-22 10:15:06 -06:00
Gregory Nutt
64e8f12e2b Add option to specify logical sector size during low level format plus adds some run-time geometry tests. fs/smartfs: Remove the 'mksmartfs()' code from the kernel 'fs'
directory and build.
2015-11-22 10:07:35 -06:00
Gregory Nutt
006528b144 Add support for freopen() 2015-11-22 08:39:17 -06:00
Gregory Nutt
38c9d42e21 drivers/timers/pcf85263.c: Add a driver for the NXP PCF85263 I2C RTC 2015-11-20 17:36:10 -06:00
Gregory Nutt
db2fe45666 Update some comments 2015-11-20 09:55:18 -06:00
Gregory Nutt
4b29bcee7f Rename up_rtcinitialize to up_rtc_initialize so that it looks like other RTC interfaces 2015-11-20 08:27:52 -06:00
Gregory Nutt
b60c2519d7 arch.h: Update some comments and conditional compilation 2015-11-20 07:13:16 -06:00
Gregory Nutt
c34b5108a7 RTC: Fix system time initialization when using an exernal RTC. Fix some bugs in the DS1307/DS3231 RTC driver 2015-11-19 14:54:30 -06:00
Gregory Nutt
678eb7b78b Merged in paulpatience/nuttx/stdio (pull request #37)
stdio: Define BUFSIZ
2015-11-18 14:46:03 -06:00
Paul A. Patience
c0a1d8e960 stdio: Define BUFSIZ 2015-11-18 15:09:43 -05:00
Gregory Nutt
f699072507 Merged in paulpatience/nuttx/stdlib (pull request #36)
stdlib: Fix forgotten FARs
2015-11-18 14:01:17 -06:00
Paul A. Patience
bfc95c641f stdlib: Fix forgotten FARs 2015-11-18 14:22:43 -05:00
Paul A. Patience
706218d18f atoi(): Cast return value to int 2015-11-18 14:12:29 -05:00
Gregory Nutt
622ea95ab1 drivers/timers/ds3213.c: Extend to include support for the DS1307 RTC 2015-11-18 08:43:19 -06:00
Gregory Nutt
4579f0c1fc Add a command to boardctl() to obtain a baord unique ID 2015-11-18 07:31:53 -06:00
Gregory Nutt
25c4ff8285 Update some comments 2015-11-17 16:29:34 -06:00
Gregory Nutt
c0a701b779 Merged in wail007/nuttx (pull request #33)
Added a lower-half timer driver for stm32 which is compatible with the upper-half driver located at /drivers/timers/timer.c
2015-11-17 16:23:03 -06:00
Wail Khemir
09b9d6ba1f Added a lower-half timer driver for stm32 which is compatible with the upper-half driver located at /drivers/timers/timer.c 2015-11-17 16:39:21 -05:00
Gregory Nutt
45530a77d4 Add support for DS3231 I2C RTC. Untested on initial commit. 2015-11-17 14:07:55 -06:00
Gregory Nutt
e61d51dab3 If multiple AT24xx devices are supported and resources are allocated, then it may also be necessary to free those resource 2015-11-17 08:39:06 -06:00
Gregory Nutt
f5722bc6dd Merged in slorquet/nuttx/pca9555 (pull request #32)
Pca9555 interrupt support.
2015-11-17 07:45:33 -06:00
Gregory Nutt
724901ceb9 Add support for multiple AT24xx EEPROM devices 2015-11-17 07:40:17 -06:00
Sebastien Lorquet
c7999141e7 Merge branch 'master' into pca9555 2015-11-17 14:12:03 +01:00
Sebastien Lorquet
826aadbce8 Include support for PCA9555 interrupt driven IO changes detection.
Currently using a signal, and a single notified task.
signal handling support moved to generic IO expander header (not pca specific)
2015-11-17 14:09:43 +01:00
Gregory Nutt
580529ba23 crypto/aes.c: Make refernce to key const 2015-11-16 14:30:43 -06:00
Gregory Nutt
c955cdccd9 Move rivers/wireless/cc3000/security.c to crypto/aes.c; move include/nuttx/wireless/cc3000/security.h to include/nuttx/crypto/aes.h 2015-11-16 13:31:02 -06:00
Gregory Nutt
815ec07b55 CAN: A minor improvement to can_txready design 2015-11-15 06:36:30 -06:00
Gregory Nutt
d6eb48d1ab Update comments 2015-11-14 14:00:39 -06:00
Gregory Nutt
81ab270a96 CAN driver: Removing call to can_xmit() from can_txready() in a previous commit was a mistake. This commit restores the call to can_xmit(), but does the call in a safer environment on the work thread. 2015-11-14 10:33:02 -06:00
Sebastien Lorquet
8242600e5e WIP for pca9555 irq 2015-11-13 16:28:46 +01:00
Gregory Nutt
fdb17620a0 Need a prototype for progmem_initialize in include/nuttx/mtd/mtd.h 2015-11-12 16:03:24 -06:00
Max Neklyudov
d54a39832a Implement high level DMA infrastructure for serial devices 2015-11-12 14:16:19 -06:00
Gregory Nutt
ef59f83a38 drivers/mtd/mtd_progmem.c: Add an upper-half driver that can be used with any FLASH library that provides the itnerfaces defined in include/nuttx/progmem.h 2015-11-12 13:40:18 -06:00
Gregory Nutt
5eaf368d16 progmem.h: Cosmetic updates to comments 2015-11-12 12:30:15 -06:00
Gregory Nutt
7fe6200b0f progmem.h: Clean-up a few comments 2015-11-11 14:30:06 -06:00
Gregory Nutt
e62673241d Eliminate some useless comments 2015-11-11 11:02:52 -06:00
Gregory Nutt
965addb397 s25fl1: When unprotecting, handle case where protection bits are inverted. Add option to s25flinitilize() to unprotected on power up 2015-11-10 11:33:35 -06:00
Gregory Nutt
95562f8a86 CAN driver: More improved comments 2015-11-08 07:43:57 -06:00
Gregory Nutt
91429433f6 Correct naming of Spansion part. S25FL1, not ST25FL1 2015-11-07 11:51:09 -06:00
Paul A. Patience
4c70fc181a ADC: Fix forgotten FARs 2015-11-05 10:27:47 -05:00
Gregory Nutt
c6fc285277 CAN: Add a new CAN upper-half interface, can_txready(), that can be used to break deadlock conditions in certain CAN hardware that supports queuing of TX messages 2015-11-03 10:52:58 -06:00
Gregory Nutt
51d29d3c97 Merged in paulpatience/nuttx/pwm (pull request #29)
PWM: Add support for multiple output channels per timer
2015-11-01 16:40:06 -06:00
Paul A. Patience
e8c2466c1c PWM: Add support for multiple output channels per timer 2015-11-01 17:15:12 -05:00