soft/lpc122x/core
2 years agoImprove usleep function and add a "usleep_short()" function, to be used only for...
Nathael Pajani [Wed, 9 Sep 2015 19:13:42 +0000 (21:13 +0200)]
Improve usleep function and add a "usleep_short()" function, to be used only for usleep under 1000us and which does not check that systick is running.

2 years agoAdd include guards
Nathael Pajani [Wed, 9 Sep 2015 19:11:04 +0000 (21:11 +0200)]
Add include guards

2 years agoAdd a few comments
Nathael Pajani [Wed, 9 Sep 2015 19:10:46 +0000 (21:10 +0200)]
Add a few comments

2 years agoDisplay some size information about the image (used data) at the end of the compilation.
Nathael Pajani [Wed, 9 Sep 2015 19:10:14 +0000 (21:10 +0200)]
Display some size information about the image (used data) at the end of the compilation.

2 years agoTime handling helpers improvements, still to be tested.
Nathael Pajani [Sun, 6 Sep 2015 19:39:21 +0000 (21:39 +0200)]
Time handling helpers improvements, still to be tested.

2 years agoSplit system.h, moving systick related parts to systick.h Add a function to systick...
Nathael Pajani [Sun, 6 Sep 2015 19:36:29 +0000 (21:36 +0200)]
Split system.h, moving systick related parts to systick.h Add a function to systick driver to get the current reload value for systick timer. Stop exporting internal sleep implementation functions.

2 years agoWell ... not really at ease with git yet
Nathael Pajani [Wed, 2 Sep 2015 12:04:31 +0000 (14:04 +0200)]
Well ... not really at ease with git yet

2 years agoDTPlug protocol implementation To be fully tested
Nathael Pajani [Wed, 2 Sep 2015 09:19:18 +0000 (11:19 +0200)]
DTPlug protocol implementation To be fully tested

2 years agoFirst bits of time handling Must be modified for use of the RTC interrupt for seconds...
Nathael Pajani [Wed, 2 Sep 2015 09:13:42 +0000 (11:13 +0200)]
First bits of time handling Must be modified for use of the RTC interrupt for seconds counting when there is a RTC external oscilator as stated in the comments. Not fully tested yet.

2 years agoMove all static information to a structure to allow the use of multiple sensors.
Nathael Pajani [Wed, 2 Sep 2015 09:10:41 +0000 (11:10 +0200)]
Move all static information to a structure to allow the use of multiple sensors.

2 years agoLinked list implementation from the Linux kernel
Nathael Pajani [Wed, 2 Sep 2015 09:08:54 +0000 (11:08 +0200)]
Linked list implementation from the Linux kernel

2 years agoProvide offsetof when there is no builtin Add container_of
Nathael Pajani [Wed, 2 Sep 2015 09:08:07 +0000 (11:08 +0200)]
Provide offsetof when there is no builtin Add container_of

2 years agoAdd some more room for user information and provide the required addresses
Nathael Pajani [Wed, 2 Sep 2015 09:05:30 +0000 (11:05 +0200)]
Add some more room for user information and provide the required addresses

2 years agoAdd a uprintf (UART printf) that outputs data on selected UART
Nathael Pajani [Mon, 31 Aug 2015 15:41:04 +0000 (17:41 +0200)]
Add a uprintf (UART printf) that outputs data on selected UART

2 years agoOups ! That's better with the parenthesis ... There's still so much to be tested ...
Nathael Pajani [Wed, 26 Aug 2015 21:13:17 +0000 (23:13 +0200)]
Oups ! That's better with the parenthesis ... There's still so much to be tested ...

2 years agoCallback takes two 'l'
Nathael Pajani [Wed, 26 Aug 2015 21:12:05 +0000 (23:12 +0200)]
Callback takes two 'l'

2 years agoSensor address is now a parameter to all functions so that many sensors may be used...
Nathael Pajani [Tue, 25 Aug 2015 22:55:43 +0000 (00:55 +0200)]
Sensor address is now a parameter to all functions so that many sensors may be used. I2C bus should be a parameter too, but there's only one I2C bus on LPC1224.

2 years agoFix some bit definitions for serial registers. Set callback to NULL when uart is...
Nathael Pajani [Tue, 25 Aug 2015 22:52:25 +0000 (00:52 +0200)]
Fix some bit definitions for serial registers. Set callback to NULL when uart is turned OFF.

2 years agoComments typo fixes
Nathael Pajani [Tue, 25 Aug 2015 22:50:59 +0000 (00:50 +0200)]
Comments typo fixes

2 years agoserial: add serial_flush()
Cyprien LAPLACE [Sun, 5 Apr 2015 12:23:50 +0000 (14:23 +0200)]
serial: add serial_flush()

Only return once all the in-buffer characters are sent.
Also call uart handler while waiting interrupt off!

Now hard fault are visible :)

2 years agoAdd a lock function which keeps IRQ off while the lock is held.
Nathael Pajani [Fri, 14 Aug 2015 15:12:34 +0000 (17:12 +0200)]
Add a lock function which keeps IRQ off while the lock is held.

2 years agoAdd const to function header for const config data
Nathael Pajani [Fri, 14 Aug 2015 15:11:00 +0000 (17:11 +0200)]
Add const to function header for const config data

2 years agoUpdated comments
Nathael Pajani [Fri, 14 Aug 2015 15:09:51 +0000 (17:09 +0200)]
Updated comments

2 years agoAdd WS2812 chainable leds support
Nathael Pajani [Thu, 13 Aug 2015 23:03:15 +0000 (01:03 +0200)]
Add WS2812 chainable leds support

2 years agoSome timers fixes.
Nathael Pajani [Thu, 13 Aug 2015 23:01:25 +0000 (01:01 +0200)]
Some timers fixes.

2 years agouser information block cannot be programmed using ISP mode. It must be done using...
Nathael Pajani [Tue, 11 Aug 2015 18:49:55 +0000 (20:49 +0200)]
user information block cannot be programmed using ISP mode. It must be done using IAP.

2 years agoUpdated README
Nathael Pajani [Tue, 11 Aug 2015 16:58:19 +0000 (18:58 +0200)]
Updated README

2 years agotypo fix in comments
Nathael Pajani [Tue, 11 Aug 2015 16:58:00 +0000 (18:58 +0200)]
typo fix in comments

2 years agobetter this way to ignore all .img and .bak files
Nathael Pajani [Tue, 11 Aug 2015 16:55:46 +0000 (18:55 +0200)]
better this way to ignore all .img and .bak files

2 years agoignore also these extentions, they usually mark generated binaries or development...
Nathael Pajani [Wed, 22 Jul 2015 09:24:29 +0000 (11:24 +0200)]
ignore also these extentions, they usually mark generated binaries or development files.

2 years agoAdd an 8x8 font with ascii characters only.
Nathael Pajani [Wed, 22 Jul 2015 01:04:23 +0000 (03:04 +0200)]
Add an 8x8 font with ascii characters only.

2 years agoAdd epaper driver for pervasive display epaper screens on embedded artists adapter.
Nathael Pajani [Wed, 22 Jul 2015 01:03:34 +0000 (03:03 +0200)]
Add epaper driver for pervasive display epaper screens on embedded artists adapter.

2 years agoIntroduce new UART baud-rate generator configuration mechanism to achieve higher...
Nathael Pajani [Wed, 22 Jul 2015 00:46:37 +0000 (02:46 +0200)]
Introduce new UART baud-rate generator configuration mechanism to achieve higher data rates. Keep the old one for data rates below or equal to 115200. Only 1152000 supported above (yet)

2 years agoUse the saved flags for intr reset. Do not erase possible other interrupt sources.
Nathael Pajani [Wed, 22 Jul 2015 00:45:05 +0000 (02:45 +0200)]
Use the saved flags for intr reset. Do not erase possible other interrupt sources.

2 years agoAdd and fix comments
Nathael Pajani [Wed, 22 Jul 2015 00:44:16 +0000 (02:44 +0200)]
Add and fix comments

2 years agoFix some comments
Nathael Pajani [Fri, 27 Mar 2015 12:59:09 +0000 (13:59 +0100)]
Fix some comments

2 years agoMinor comment fixe
Nathael Pajani [Thu, 19 Mar 2015 22:02:23 +0000 (23:02 +0100)]
Minor comment fixe

2 years agoAdd gpio_toggle define
Nathael Pajani [Thu, 19 Mar 2015 22:02:10 +0000 (23:02 +0100)]
Add gpio_toggle define

2 years agoUpdate licence version for this file
Nathael Pajani [Thu, 19 Mar 2015 22:01:31 +0000 (23:01 +0100)]
Update licence version for this file

2 years agoUse arm-none-eabi- compilation toolchain for embeded micro-controllers. No need of...
Nathael Pajani [Fri, 27 Feb 2015 09:19:31 +0000 (10:19 +0100)]
Use arm-none-eabi- compilation toolchain for embeded micro-controllers. No need of a GNU C library for Linux targets, these are not linux targets. arm-none-eabi- compilation toolchain is now in Debian GNU/Linux SID arm-none-eabi- is also the most common toolchain name for embedded ARM targets

2 years agoFix this copy-paste error ... oups :(
Nathael Pajani [Sun, 22 Feb 2015 02:03:21 +0000 (03:03 +0100)]
Fix this copy-paste error ... oups :(

2 years agoAdd some gpio helper functions. Note that these are not very effective unless the...
Nathael Pajani [Sun, 22 Feb 2015 01:50:14 +0000 (02:50 +0100)]
Add some gpio helper functions. Note that these are not very effective unless the compiler does some optimisations when called multiple times from the same function.

2 years agoAdd comments to gpio driver header
Nathael Pajani [Sun, 22 Feb 2015 01:48:32 +0000 (02:48 +0100)]
Add comments to gpio driver header

2 years agoAdd comments to Status led external driver header file
Nathael Pajani [Sun, 22 Feb 2015 01:47:38 +0000 (02:47 +0100)]
Add comments to Status led external driver header file

2 years agoMissing include in header file
Nathael Pajani [Thu, 12 Feb 2015 03:22:43 +0000 (04:22 +0100)]
Missing include in header file

2 years agoAdd support for RTC Tested on Sub1GHz module because it's the only module i have...
Nathael Pajani [Mon, 2 Feb 2015 01:39:24 +0000 (02:39 +0100)]
Add support for RTC Tested on Sub1GHz module because it's the only module i have with RTC oscilator.

2 years agoSystem tick timer additions and improvements Implement the remove callback functionna...
Nathael Pajani [Mon, 2 Feb 2015 01:38:26 +0000 (02:38 +0100)]
System tick timer additions and improvements Implement the remove callback functionnality Reset wrapping counters when systick is stopped or reset. Add is_systick_running() and systick_get_tick_ms_period() helper functions Add or improve comments.

2 years agoRemove GPIO-Demo module or DomoTab specific parts from EEPROM support code
Nathael Pajani [Sun, 28 Dec 2014 03:41:32 +0000 (04:41 +0100)]
Remove GPIO-Demo module or DomoTab specific parts from EEPROM support code

2 years agothis is not true for all the modules.
Nathael Pajani [Sun, 28 Dec 2014 02:26:37 +0000 (03:26 +0100)]
this is not true for all the modules.

2 years agoAllow configuration of pins used for status leds
Nathael Pajani [Sat, 20 Dec 2014 15:29:38 +0000 (16:29 +0100)]
Allow configuration of pins used for status leds

2 years agoAllow app-level CC1101 configuration modifications
Nathael Pajani [Sat, 20 Dec 2014 15:28:59 +0000 (16:28 +0100)]
Allow app-level CC1101 configuration modifications

2 years agoMake the apps Makefiles "app independent" This makes it easier to create new apps...
Nathael Pajani [Wed, 17 Dec 2014 17:25:54 +0000 (18:25 +0100)]
Make the apps Makefiles "app independent" This makes it easier to create new apps by copying the app directory.

2 years agoChange variable and function name as it counts clock cycles and not ticks. Add comments
Nathael Pajani [Wed, 17 Dec 2014 01:22:23 +0000 (02:22 +0100)]
Change variable and function name as it counts clock cycles and not ticks. Add comments

2 years agosystick: provide access to a global count of systick cycles
Cyprien Laplace [Tue, 16 Dec 2014 12:56:41 +0000 (07:56 -0500)]
systick: provide access to a global count of systick cycles

System tick is now maintening a global count of cycles at main clock
frequency, independantly of the systick timer interrupt frequency.

The number of cycles can be obtained using systick_get_tick_cycles().

2 years agoProvide support for multiple applications in the same repository Single common Makefi...
Nathael Pajani [Mon, 15 Dec 2014 14:04:22 +0000 (15:04 +0100)]
Provide support for multiple applications in the same repository Single common Makefile for all existing and future apps without modifications Simple application addition Readme updated accordingly.

2 years agoMoving DHT11 support to a specific external driver.
Nathael Pajani [Mon, 15 Dec 2014 00:30:42 +0000 (01:30 +0100)]
Moving DHT11 support to a specific external driver.

2 years agoUse new set_pins scheme - part 1 Remove individual local set_*_pins functions WARNING...
Cyprien Laplace [Sun, 14 Dec 2014 17:11:06 +0000 (18:11 +0100)]
Use new set_pins scheme - part 1 Remove individual local set_*_pins functions WARNING : This commit is HARD-LINKED with the next one or pins will not be configured. Otherwise, you must perform the modifications on your code to configure the pins using the new scheme.

2 years agoMake use of the pio and gpio config functions - eeprom part
Cyprien Laplace [Sun, 14 Dec 2014 17:08:17 +0000 (18:08 +0100)]
Make use of the pio and gpio config functions - eeprom part

2 years agoMake use of the pio and gpio config functions - status_led part
Cyprien Laplace [Sun, 14 Dec 2014 17:05:58 +0000 (18:05 +0100)]
Make use of the pio and gpio config functions - status_led part

2 years agoMake use of the pio and gpio config functions - cc1101 part
Nathael Pajani [Sun, 14 Dec 2014 17:04:39 +0000 (18:04 +0100)]
Make use of the pio and gpio config functions - cc1101 part

2 years agoFix : set gpio state only when GPIO is configured as output
Cyprien Laplace [Sun, 14 Dec 2014 17:01:11 +0000 (18:01 +0100)]
Fix : set gpio state only when GPIO is configured as output

2 years agoAdd a set_pins() core function which can configure all GPIO in one loop.
Nathael Pajani [Sun, 14 Dec 2014 17:00:11 +0000 (18:00 +0100)]
Add a set_pins() core function which can configure all GPIO in one loop.

2 years agoUse const structs for the pio definitions Move the weak definitions outside of the...
Nathael Pajani [Sun, 7 Dec 2014 22:00:07 +0000 (23:00 +0100)]
Use const structs for the pio definitions Move the weak definitions outside of the driver file, so that the compiler cannot optimise and use the empty "weak" definitions. Next step is to merge all definitions in a single table, and call a single pio config function.

2 years agoallow use of different cross-compiler on the command line
Nathael Pajani [Sun, 7 Dec 2014 21:05:01 +0000 (22:05 +0100)]
allow use of different cross-compiler on the command line

2 years agouse const for functions which do not modify the pio structures.
Nathael Pajani [Sun, 7 Dec 2014 21:04:33 +0000 (22:04 +0100)]
use const for functions which do not modify the pio structures.

2 years agostatus-led: put led status in an array
Cyprien Laplace [Sun, 7 Dec 2014 04:18:52 +0000 (23:18 -0500)]
status-led: put led status in an array

2 years agoSeparate internal LPC drivers and external ones Place the external ones in extdrv...
Nathael Pajani [Sat, 6 Dec 2014 01:51:20 +0000 (02:51 +0100)]
Separate internal LPC drivers and external ones Place the external ones in extdrv Split i2c and eeprom in two different headers

2 years agoFix the term colors so that we get back to default and not white (thanks cyprien)
Nathael Pajani [Thu, 4 Dec 2014 02:36:42 +0000 (03:36 +0100)]
Fix the term colors so that we get back to default and not white (thanks cyprien)

2 years ago-ffreestanding Assert that compilation targets a freestanding environment (one with...
Nathael Pajani [Thu, 4 Dec 2014 02:23:18 +0000 (03:23 +0100)]
-ffreestanding Assert that compilation targets a freestanding environment (one with no OS and none of the related stuff) -nostdlib prevents inclusion of standard libraries, which or not present in our system. Requiered parts have been re-implemented (mostly a copy from the Linux kernel code)

2 years agoThis comment comes from the original makefile ... change to the right name :)
Nathael Pajani [Thu, 4 Dec 2014 02:16:24 +0000 (03:16 +0100)]
This comment comes from the original makefile ... change to the right name :)

2 years agoRemove warning on some gcc versions (thanks Alexandre) Add typedef for one of the...
Nathael Pajani [Thu, 4 Dec 2014 02:15:33 +0000 (03:15 +0100)]
Remove warning on some gcc versions (thanks Alexandre) Add typedef for one of the very rare cases in which a typedef makes things somehow more readable, and this still can be discussed ...

2 years agoAllow use of a null status argument.
Nathael Pajani [Wed, 22 Oct 2014 00:29:09 +0000 (02:29 +0200)]
Allow use of a null status argument.

2 years agoAdd comments to signal yet unsupported feature
Nathael Pajani [Tue, 21 Oct 2014 22:21:54 +0000 (00:21 +0200)]
Add comments to signal yet unsupported feature

2 years agoFix problem with ADC at conversion rates above a few hertz (3 or 4Hz) as updated...
Nathael Pajani [Tue, 21 Oct 2014 22:21:08 +0000 (00:21 +0200)]
Fix problem with ADC at conversion rates above a few hertz (3 or 4Hz) as updated in user manual rev2.1 See Section 19.2 of UM10441 revision 2.1 or newer for more information.

2 years agoBetter comments for systick callback information.
Nathael Pajani [Tue, 21 Oct 2014 09:47:04 +0000 (11:47 +0200)]
Better comments for systick callback information.

2 years agoUse second value in config field to select the timer control channel.
Nathael Pajani [Thu, 9 Oct 2014 10:46:13 +0000 (12:46 +0200)]
Use second value in config field to select the timer control channel.

2 years agoAdd partial support for event driven conversions Only two events supported yet. Suppo...
Nathael Pajani [Fri, 26 Sep 2014 10:09:51 +0000 (12:09 +0200)]
Add partial support for event driven conversions Only two events supported yet. Support for new ones will be easy but requires some code refactoring.

2 years agoAdding support for address change Adding support for config register change Set defau...
Nathael Pajani [Fri, 26 Sep 2014 08:54:59 +0000 (10:54 +0200)]
Adding support for address change Adding support for config register change Set default GDO_0 behavior for interrupt on RX packet CRC OK.

2 years agoThe previous test may never come true if we do not set the flag
Nathael Pajani [Thu, 18 Sep 2014 19:53:11 +0000 (21:53 +0200)]
The previous test may never come true if we do not set the flag

2 years agoThere is no "single burst" mode on the LPC1224, remove corresponding code.
Nathael Pajani [Thu, 18 Sep 2014 19:50:12 +0000 (21:50 +0200)]
There is no "single burst" mode on the LPC1224, remove corresponding code.

2 years agoThe ADC resolution cannot be selected on the LPC1224, do not confuse the user.
Nathael Pajani [Thu, 18 Sep 2014 19:42:54 +0000 (21:42 +0200)]
The ADC resolution cannot be selected on the LPC1224, do not confuse the user.

2 years agoSometimes GCC needs Low registers instead of general ones, but we need to tell him...
Nathael Pajani [Thu, 28 Aug 2014 17:34:47 +0000 (19:34 +0200)]
Sometimes GCC needs Low registers instead of general ones, but we need to tell him he can use them. Maybe necessary in other places, but at least fixes the problem i have on my test system. Special thanks to cyprien, once again !

2 years agoAdd support for user information block reading. (Use IAP for writting)
Nathael Pajani [Thu, 28 Aug 2014 11:45:07 +0000 (13:45 +0200)]
Add support for user information block reading. (Use IAP for writting)

2 years agoPartial IAP ROM helpers support
Nathael Pajani [Thu, 28 Aug 2014 11:43:59 +0000 (13:43 +0200)]
Partial IAP ROM helpers support

2 years agoImplement timer interrupt callbacks
Nathael Pajani [Mon, 25 Aug 2014 23:24:21 +0000 (01:24 +0200)]
Implement timer interrupt callbacks

2 years agoRemove comments comming from the linux kernel but irrelevant for us.
Nathael Pajani [Wed, 6 Aug 2014 00:58:51 +0000 (02:58 +0200)]
Remove comments comming from the linux kernel but irrelevant for us.

2 years agoDeclare a weak "empty" pio struct for each driver inside the driver so that there...
Nathael Pajani [Thu, 31 Jul 2014 19:54:22 +0000 (21:54 +0200)]
Declare a weak "empty" pio struct for each driver inside the driver so that there's no need to do it in the "main.c" file when the function is not used.

2 years agoSome more precision in the comments.
Nathael Pajani [Mon, 28 Jul 2014 08:57:11 +0000 (10:57 +0200)]
Some more precision in the comments.

2 years agoSplit build rule in two parts : linking and binary image creation.
Nathael Pajani [Mon, 28 Jul 2014 08:56:15 +0000 (10:56 +0200)]
Split build rule in two parts : linking and binary image creation.

2 years agoArgh ! hidden, silent bug, as I always used port 0 for the pins. (Thank you cyprien...
Nathael Pajani [Mon, 28 Jul 2014 08:51:23 +0000 (10:51 +0200)]
Argh ! hidden, silent bug, as I always used port 0 for the pins. (Thank you cyprien for seeing this one :) Use the port number from the provided pio struct, not from our onw un-initialized one. And make sure both pio struct pointers are not NULL before using them ....

2 years agoHey, this one is for LPC1224 ...
Nathael Pajani [Sun, 27 Jul 2014 23:24:34 +0000 (01:24 +0200)]
Hey, this one is for LPC1224 ...

2 years agoMake sure we receive valid (at least not NULL) pointers Add a few comments
Nathael Pajani [Sun, 27 Jul 2014 23:24:07 +0000 (01:24 +0200)]
Make sure we receive valid (at least not NULL) pointers Add a few comments

2 years agoRemove unusefull flags and move static directive to link options, where it belongs.
Nathael Pajani [Wed, 16 Jul 2014 01:29:16 +0000 (03:29 +0200)]
Remove unusefull flags and move static directive to link options, where it belongs.

2 years agoFunction not used in current main(), so name mismatch not detected.
Nathael Pajani [Thu, 19 Jun 2014 16:02:31 +0000 (18:02 +0200)]
Function not used in current main(), so name mismatch not detected.

2 years agoThis driver is specific to TMP101 sensor, reflect this in files and functions names
Nathael Pajani [Thu, 19 Jun 2014 14:46:38 +0000 (16:46 +0200)]
This driver is specific to TMP101 sensor, reflect this in files and functions names

2 years agoAdding tags and binary to ignore list.
Nathael Pajani [Thu, 19 Jun 2014 13:07:43 +0000 (15:07 +0200)]
Adding tags and binary to ignore list.

2 years agoAdding some comments about the "status" led used on the demo module.
Nathael Pajani [Sun, 8 Jun 2014 22:00:47 +0000 (00:00 +0200)]
Adding some comments about the "status" led used on the demo module.

2 years agoAdding gpio config function, which in turn calls config_pio() and set pin direction...
Nathael Pajani [Sun, 8 Jun 2014 21:59:34 +0000 (23:59 +0200)]
Adding gpio config function, which in turn calls config_pio() and set pin direction and initial state.

2 years agoImproved ADC support (untested)
Nathael Pajani [Sun, 27 Apr 2014 16:52:14 +0000 (18:52 +0200)]
Improved ADC support (untested)

2 years agoThis function is now internal to driver.
Nathael Pajani [Thu, 24 Apr 2014 22:15:37 +0000 (00:15 +0200)]
This function is now internal to driver.