Commit Graph

1863 Commits

Author SHA1 Message Date
Mariano Alvira
26d81d85a1 Merge pull request #228 from g-oikonomou/bug-fixes/uip-conf-ipv6
Fix 8051 port builds to play nicely with #173
2013-05-18 15:36:59 -07:00
Robert Quattlebaum
535e90343c Merge pull request #144 from darconeous/pull-requests/settings-for-all-targets
core/lib/settings: Generalized settings manager to work on any platform
2013-05-18 12:03:09 -07:00
Robert Quattlebaum
b8c0f2de6c cpu/native: Add file-backed simulated EEPROM to native cpu.
This patch removes a defunct EEPROM implementation from the native
platform and provides a new EEPROM implementation for the native cpu.
The previous implementation appears to be vestigal.

This is useful for testing code which uses the EEPROM without running
the code on the actual hardware.

By default the code will create a new temporary file as the EEPROM
backing, reinitializing each time. If you would like to preserve the
EEPROM contents or specify a specific EEPROM file to use, you can set the
`CONTIKI_EEPROM` environment variable to the name of the EEPROM file you
wish to use instead. If it already exists, its contents will be used.
If it does not already exist, it will be created and initialized by
filling it with `0xFF`---just like a real EEPROM.

A new example is also included, which was used to verify the correctness
of the implementation. It can easily be used to verify the EEPROM
implementations of other targets.
2013-05-18 10:29:41 -07:00
George Oikonomou
13e29c7975 Fix 8051 port builds to play nicely with #173 2013-05-17 23:41:36 +01:00
Adam Dunkels
59a8df14a8 Merge pull request #189 from sieben/markdown
Update to markdown
2013-05-16 00:24:25 -07:00
François Revol
95eb505345 win32: Fix cygwin build
size_t is declared in sys/types.h
2013-04-20 14:44:27 +02:00
George Oikonomou
8b5b2bd4d8 CC2538 Documentation typo and grammar fixes 2013-04-17 15:41:41 +01:00
George Oikonomou
007e113ea9 Improve handling of CDC ACM line state
- For the CC2538, simplify handling of USB_CDC_ACM_LINE_STATE
  events. Ignore the Carrier Control (RTS) bit when receiving
  a SET_CONTROL_LINE _STATE request, we are a full duplex device.
- Improve behaviour of the CC2531 USB stick when there is no
  process on the host to read IN data. Basically, we adopt the
  CC2538 approach and we only send data when a DTE is present
2013-04-16 15:49:05 +01:00
George Oikonomou
40f49948e6 New Platform: TI CC2538 Development Kit
This commit adds cpu, platform and example files,
providing support for running Contiki on TI's cc2538 DK
2013-04-06 21:07:31 +01:00
Rémy Léone
69d936d94a Update README.md
Minor markdown => md renaming
2013-04-03 14:52:27 +03:00
Oliver Schmidt
d5d8de7372 Merge pull request #181 from mmuman/ctk-ncurses-try4
TODOs:
- Check FreeBSD
- Adjust Makefile.target
2013-03-31 14:36:30 -07:00
François Revol
476be8de7e ctk-curses: style fixes
Thanks tools/contiki-indent
2013-03-31 04:07:03 +02:00
François Revol
3633c52bcb ctk-curses: whitespace fixes 2013-03-30 23:34:18 +01:00
François Revol
a03334a59d ctk-curses: style fixes 2013-03-30 23:26:22 +01:00
François Revol
8daf2b6659 ctk-curses: remove unused code
The setupterm() call is not needed when using curses.
2013-03-30 23:15:08 +01:00
François Revol
976746f97f ctk-curses: cleanup 2013-03-30 23:07:38 +01:00
François Revol
5a4382a996 ctk-curses: uncomment refresh() calls
I'm not yet sure they are required there but it shouldn't hurt.
2013-03-30 23:03:04 +01:00
François Revol
065c25cfc5 ctk-curses: uncomment nonl() call and fix return key handling 2013-03-30 23:00:44 +01:00
François Revol
f63aada8b6 ctk-curses: make sure gcc finds ncurses headers on cygwin
They are located in /usr/include/ncurses
2013-03-30 18:11:17 +01:00
François Revol
45662ac1ef ctk-curses: add some comments for clarity 2013-03-30 17:57:01 +01:00
Rémy Léone
e6bd4f1dde Rename to md 2013-03-26 23:15:37 +01:00
Rémy Léone
7b40a568a6 Update to markdown
- Spellchecking
- Update plain text to github markdown
2013-03-26 16:55:19 +01:00
François Revol
9372a153dd win32: Prefix color names with CTK_
For consistency with ctk-curses, prefix CTK colors with CTK_.

Also introduce COLOR_BG to make it easier to change the widgets
background at once.
2013-03-26 11:51:58 +01:00
François Revol
ada305a3be ctk-curses: Introduce CTK-specific color names
Since ncurses also defines COLOR_BLACK and friends, and we want
to avoid including curses.h in contiki-conf.h, define CTK_COLOR_*
constants and map them to curses colors in ctk-curses.c.
2013-03-26 11:37:10 +01:00
François Revol
56f11e7524 ctk-curses: C89
At least Haiku still uses gcc2 by default.
2013-03-26 08:51:37 +01:00
François Revol
54199d7121 ctk-curses: add CURSES_LIB to TARGET_LIBFILES, not LDFLAGS
It seems TARGET_LIBFILES is used at the end of the link command,
unlike LDFLAGS, which should help when only a static curses lib is
available, like on Haiku.
2013-03-26 08:10:59 +01:00
Nicolas Tsiftes
f8edbbb8d2 Merge pull request #178 from adamdunkels/feature-contiki-default-conf
A first stab at a default configuration system
2013-03-25 20:13:15 -07:00
François Revol
2bb9ced3d6 ctk-curses: Guard ncurses-specific mouse function calls
The mouse support is ncurses-specific so guard it with proper #ifdef.
2013-03-26 02:01:28 +01:00
François Revol
86cb1769f6 ctk-curses: Remove extra mouse events pumping loop
It was added to avoid getting garbage keyboard input in some cases,
however it seems not to happen very often and might be the cause
of hang in OSX. If garbage input happens again we can always try
to pump a single event each time instead of looping anyway.
2013-03-26 01:49:05 +01:00
François Revol
343a7643b7 ctk-curses: Introduce CURSES_LIB makefile variable
This should allow overriding it depending on $(HOST_OS).
2013-03-26 01:12:09 +01:00
Robert Quattlebaum
28a1e40ebd core/lib/settings: Generalized Settings Manager to work on any platform
This commit moves the Settings Manager from the AVR codebase
into the Contiki core library. Any platform that implements
the Contiki EEPROM API can now use the Settings Manager's
key-value store for storing their persistent configuration info.

The Settings Manager is a EEPROM-based key-value store. Keys
are 16-bit integers and values may be up to 16,383 bytes long.
It is intended to be used to store configuration-related information,
like network settings, radio channels, etc.

 * Robust data format which requires no initialization.
 * Supports multiple values with the same key.
 * Data can be appended without erasing EEPROM.
 * Max size of settings data can be easily increased in the future,
   as long as it doesn't overlap with application data.

The format was inspired by the [OLPC manufacturing data format][].

Since the beginning of EEPROM often contains application-specific
information, the best place to store settings is at the end of EEPROM
(the "top"). Because we are starting at the end of EEPROM, it makes
sense to grow the list of key-value pairs downward, toward the start of
EEPROM.

Each key-value pair is stored in memory in the following format:

Order    | Size     | Name         | Description
--------:|---------:|--------------|-------------------------------
       0 |        2 | `key`        | 16-bit key
      -2 |        1 | `size_check` | One's-complement of next byte
      -3 |   1 or 2 | `size`       | The size of `value`, in bytes
-4 or -5 | variable | `value`      | Value associated with `key`

The end of the key-value pairs is denoted by the first invalid entry.
An invalid entry has any of the following attributes:

 * The `size_check` byte doesn't match the one's compliment of the
   `size` byte (or `size_low` byte).
 * The key has a value of 0x0000.

[OLPC manufacturing data format]: http://wiki.laptop.org/go/Manufacturing_data
2013-03-20 11:57:13 -07:00
François Revol
b7601c3acb ctk-curses: Cleanup 2013-03-20 17:16:37 +01:00
Oliver Schmidt
6ba28bf74f Merge pull request #180 from mmuman/cleanup-and-fixes
Cleanup and fixes
2013-03-20 02:37:24 -07:00
François Revol
1ce1232d0f ctk-curses: Add configuration for various apps 2013-03-20 02:01:05 +01:00
François Revol
06d3c14213 ctk-curses: Enable screensaver 2013-03-20 02:01:05 +01:00
François Revol
1c5d6a9db7 ctk-curses: Cleanup + fixes
* Cleanup
* Fix warnings
* Fix indentation
* Only wait 1ms for keyboard timeout
* Hide text cursor
* Pump mouse events just in case
* Add F9 as menu key since F10 is used as menu trigger by Gnome
2013-03-20 02:00:32 +01:00
François Revol
db982f7b82 ctk-curses: Add mouse support to the ncurses CTK backend. 2013-03-20 01:35:42 +01:00
François Revol
25e3f828aa Ncurses-based CTK backend for the native platform. 2013-03-20 01:35:01 +01:00
François Revol
3d33248eff native: Fix trailing whitespace 2013-03-19 20:00:26 +01:00
François Revol
877b059bc7 native: Use stderr for logging
Since we will hopefully one day use stdout as a CTK display,
use stderr instead for log output, which can be redirected to a file.
2013-03-19 19:24:59 +01:00
Adam Dunkels
a5046e83c7 Cleanup and refactoring of the STM32w port
This is a general cleanup of things like code style issues and code structure of the STM32w port to make it more like the rest of Contiki is structured.
2013-03-18 13:31:26 +01:00
Adam Dunkels
277a348f60 Changed the name of the IPv6 number of route entries configuration from UIP_CONF_DS6_ROUTE_NBU to UIP_CONF_MAX_ROUTES. 2013-03-18 11:12:44 +01:00
Oliver Schmidt
a0e2120fdb Added configurations of the new resolver. 2013-03-14 23:17:59 +01:00
Oliver Schmidt
bbc26ef489 Added support for strncasecmp() which is now used in resolv.c. 2013-03-13 14:43:05 +01:00
Adam Dunkels
0841bce833 Merge pull request #82 from darconeous/master
Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
2013-03-10 12:51:03 -07:00
Adam Dunkels
c7ef7198a8 Merge pull request #85 from darconeous/native-target-osx
Various updates to the minimal-net platform.
2013-03-10 12:48:07 -07:00
Adam Dunkels
9c8f1d5356 Merge pull request #137 from darconeous/pull-requests/platform-avr-ravenusb-httpd-isused-fix
Fix for avr-ravenusb target builds due to missing 'isused'.
2013-03-09 06:24:46 -08:00
Oliver Schmidt
8e05c80d96 Merge pull request #151 from oliverschmidt/master
Reorganized web page attribute data handling.
2013-03-06 07:34:07 -08:00
Oliver Schmidt
c7b8bac006 Reorganized web page attribute data handling.
- Up to now the web browser used several fixed size arrays to hold the various types attribute data of the web page. This turned out to be way to inflexible for any non-trivial web page. Therefore now all attribute data is stored in a single buffer one after the other as they arrive from the parser only occupying the memory actually needed. This allows for pages with many links with rather short URLs as well as pages with few link with long URLs as well as pages with several simple forms as well as pages with one form with many form inputs.

- Using the actual web page buffer to hold the text buffers of text entry fields was in general a cool idea but in reality it  is often necessary to enter text longer than the size of the text entry field. Therefore the text buffer is now stored in the new unified attribute data buffer.

- Splitting up the process of canonicalizing a link URL and actually navigating to the resulting URL allowed to get rid of the 'tmpurl' buffer used during form submit. Now the form action is canonicalized like a usual link, then the form input name/value pairs are written right into the 'url' buffer and afterwards the navigation is triggered.

- Support for the 'render states' was completely removed. The only actually supported render state was centered output. The new unified attribute buffer would have complicated enumerating all widgets added to the page in order to adjust their position. Therefore I decided to drop the whole feature as the <center> tag is barely used anymore and newer center attributes are to hard to parse.
2013-03-06 16:29:36 +01:00
Oliver Schmidt
cdb16c02fa Removed web browser settings that aren't actually different from the defaults. 2013-03-06 15:17:39 +01:00