danicampora
2c103d5200
cc3200: Rewrite the PRCM RTC functionality methods.
...
This allows to use the On-Chip retention registers for both the
RTC and to share notification flags between the bootloader and the
application. The two flags being shared right now are the "safe boot"
request and the WDT reset cause. we still have 2 more bits free for
future use.
2015-03-14 10:08:47 +01:00
danicampora
d432bcb9ac
cc3200: Prevent multiple memory allocations if sflash init fails.
2015-03-14 10:08:46 +01:00
danicampora
2ae17def52
cc3200: Clean up linker scripts and startup file.
2015-03-14 10:08:45 +01:00
danicampora
09721e2314
cc3200: Increase heartbeat period from 3 to 5 seconds.
2015-03-14 10:08:44 +01:00
danicampora
c7fabe1f3e
cc3200: Remove unneeded code from modwlan and optimize startup time.
...
These changes also help reduce the hibernate wake-up time to 1s.
2015-03-14 10:08:43 +01:00
danicampora
04749e677f
cc3200: Allow separate selection of the power mode in Pin callbacks.
2015-03-12 16:22:17 +01:00
danicampora
10f7ef0832
cc3200: Keep WLAN enabled during suspend mode.
2015-03-12 16:22:16 +01:00
danicampora
d1ba8b7659
cc3200: Correct WiPy's pinout and the pin generation script.
2015-03-12 16:22:15 +01:00
danicampora
6ae9383f63
cc3200: Remove WLAN.getmode since it's superseded by WLAN.ifconfig.
2015-03-12 16:22:13 +01:00
danicampora
37337427c3
cc3200: Trigger a new network scan when WLAN.scan() is called.
2015-03-12 16:22:12 +01:00
danicampora
b761ed2103
cc3200: Register ADC and I2C with the sleep module.
2015-03-11 22:09:52 +01:00
danicampora
db0580d0a5
cc3200: Reduce stack sizes of simplelink and the servers.
2015-03-11 22:09:51 +01:00
danicampora
e9786f40f5
cc3200: Disable WLAN in suspended mode if NW wake is not enabled.
2015-03-11 17:11:10 +01:00
danicampora
8cbbaa052a
cc3200: Add WiPy and WiPy_SD board support.
2015-03-11 17:00:38 +01:00
danicampora
9e44383e3f
cc3200: Add power management framework. Add mpcallback class.
...
Supports suspend and hibernate modes. Waking is possible throug GPIO
and WLAN.
The mpcallback class is generic and can be reused by other classes.
2015-03-11 17:00:33 +01:00
danicampora
73aee8da54
cc3200: Merge ExtInt class into Pin class.
...
Also add another method to change the pin's interrupt mode
on the fly.
2015-03-11 17:00:28 +01:00
danicampora
26cbc91373
cc3200: Place functions only used while booting in a special section.
...
Such functions are never used after MicroPython has started, and they
remain in RAM wasting space. Now they are placed in a special section
named "boot" which sits just before the heap, allowing us to extend
the effective heap area up to the new boot section. Right now, this
gives us back ~1K, but in the future, more functions might end up in
there as well.
2015-03-11 16:59:29 +01:00
danicampora
02fda44a30
cc3200: Combine and disable sections in startup_gcc.c to reduce size.
2015-03-11 16:54:14 +01:00
danicampora
d226dd2f59
cc3200: Add preliminary low power deep sleep support.
2015-03-11 16:54:09 +01:00
danicampora
0475de1350
cc3200: Make WDT and HeartBeat constant objects on their own right.
2015-03-11 16:54:05 +01:00
danicampora
d01060241a
cc3200: Add heartbeat signal on system led.
2015-02-28 19:03:21 +01:00
Johan Hendriks
6a41bf99bd
cc3200: Create separate release/debug build directories
2015-02-28 19:03:17 +01:00
danicampora
74589cbeeb
cc3200: Move code that disables/enables servers to wlan_sl_enable().
2015-02-26 11:19:15 +01:00
danicampora
5330d8996f
cc3200: Modify simplelink FreeRTOS OSI layer to only use semaphores.
...
Before, both mutexes and semaphores were used. Using only the latter
and with a bit of cleanup to remove some code bloat, we save ~600
bytes of code.
2015-02-26 11:18:18 +01:00
danicampora
f3661d4100
cc3200: Change PRCM_PeriphRegs_t fields to unsigned char.
...
This helps saving ~300 bytes. Thanks to dpgeorge.
2015-02-25 23:25:23 +01:00
danicampora
7a074a14ce
cc3200: Implement safe boot pin and system led behaviour.
...
The safe boot pin, when pulled high during reset rolls back the
firmware to the "factory" image and skips execution of 'boot.py'
and 'main.py'. This is useful to recover from a crash condition.
The system led is used mostly to signal errors.
2015-02-25 23:17:17 +01:00
danicampora
8a5aee103d
cc3200: Fix md5 application signing, add missing accents.
2015-02-25 23:17:12 +01:00
danicampora
11aa6ba456
cc3200: Add WDT functionality as part of the pyb module.
...
Also improve pybsd, and make it save it's pin configuration.
This is a necessary step towards supporting the CC3200 low
power deep sleep (LPDS) mode.
2015-02-25 11:37:29 +01:00
danicampora
fe2eb5f58a
cc3200: Update README.md to add step for flashing the bootloader.
2015-02-25 11:36:56 +01:00
danicampora
70b3160871
cc3200: Introduce MICROPY_PORT_HAS_TELNET and MICROPY_PORT_HAS_FTP.
...
These definitions help on making modwlan.c usable by other ports
with the CC3100.
2015-02-23 15:02:57 +01:00
danicampora
379a3fa305
cc3200: Change UART.print() to make it consistent with the rest.
2015-02-23 15:02:55 +01:00
danicampora
88b7f52ebb
cc3200: Replace WLAN.get_ip() with WLAN.ifconfig().
...
Also change other methods' names to make them consistent.
2015-02-23 15:02:55 +01:00
danicampora
44bb616b53
cc3200: Add simplelink non-os task calls.
2015-02-22 18:59:50 +01:00
danicampora
4bfc491753
cc3200: Add wlan_urn() thanks to Nadim El-Fata and Bryan Morrissey.
2015-02-22 18:43:01 +01:00
danicampora
0c11b167a7
cc3200: Add optimization flags to drivers/cc3100 in the debug build.
2015-02-22 17:50:52 +01:00
danicampora
33ddb566a7
cc3200: Remove dependencies from FreeRTOS.
...
Use the simplelink wrappers instead. This is one step further
towards having a single module for the cc3200 and the cc3100.
2015-02-22 17:50:50 +01:00
Damien George
3611c1de14
drivers/cc3100: Remove dependence on debug.h.
2015-02-21 22:04:07 +00:00
danicampora
92ea99a0fb
cc3200: Add support for connecting to WEP secured networks.
2015-02-21 22:27:54 +01:00
danicampora
18605b36dc
cc3200: Rename SD.config() to SD.config_pins().
2015-02-21 22:27:48 +01:00
danicampora
7102e51506
cc3200: Add UART __del__ method.
2015-02-21 22:27:44 +01:00
danicampora
a7208bcc43
cc3200: Remove sd paths from sys path when disabling the sd card.
2015-02-21 22:27:39 +01:00
Damien George
5ca1f5f9d9
cc3200: Get compiling with CC3100 driver from drivers/ directory.
2015-02-21 19:55:57 +00:00
Damien George
49c2ad4fb4
cc3200: Move CC3100 driver from cc3200/simplelink to drivers/cc3100.
...
This commit will not build, it exists just to track changes.
2015-02-21 19:52:07 +00:00
Damien George
36e2845e36
cc3200: Replace physical tabs with spaces.
...
Preparing this to move to drivers/ directory, want to make it as similar
to original code from TI as possible.
2015-02-21 19:48:34 +00:00
Damien George
4a23a01945
cc3200: Add explicit py/ path-prefix for py includes.
...
This is how it should be, so one knows exactly where the includes are
coming from.
2015-02-21 18:58:43 +00:00
danicampora
59d14914cd
cc3200: Correct pybsd_config() params retrieval.
2015-02-21 14:26:38 +01:00
danicampora
c020109cfa
cc3200: Add SD module and disable SD card support for the LAUNCHXL.
2015-02-21 14:19:40 +01:00
danicampora
571e3f5804
cc3200: Add exit values to the shell scripts.
2015-02-21 14:19:36 +01:00
danicampora
a6862fc812
cc3200: Disable MICROPY_OPT_COMPUTED_GOTO.
...
Saves around 1.3K. At the same time re-enable MICROPY_PY_SYS_EXIT
since it doesn't take much space and might be useful for certain
scripts.
2015-02-21 14:19:32 +01:00
danicampora
82fabf4e52
cc3200: Disable MICROPY_PY_SYS_EXIT and MICROPY_EMIT_INLINE_THUMB.
...
Disabling MICROPY_EMIT_INLINE_THUMB gives us back around 6K of
precious RAM.
2015-02-20 17:12:39 +01:00
danicampora
6b21c3fdd6
cc3200: Refactor UART and I2C object creation.
...
I2C objects can be freed by the GC and a __del__ method is provided
in order to de-init the peripheral prior to being garbage collected.
UART objects are now added to a local list and this list is now part
of the VM_STATE.
2015-02-20 16:41:55 +01:00
danicampora
7807da20ab
cc3200: Increase UART default read buffer size to 128 bytes.
2015-02-20 16:41:49 +01:00
danicampora
868fa82ea4
cc3200: Add ADC module.
2015-02-20 16:40:59 +01:00
danicampora
5d2344d009
cc3200: Change safe-boot pin to GPIO28.
2015-02-20 16:40:19 +01:00
danicampora
2b899b6708
cc3200: Remove asserts from sl_Stop() and reduce timeout to 250ms.
2015-02-20 16:40:15 +01:00
danicampora
6ff9a47255
cc3200: Move `closed` field in mod_network_socket_obj_t out of the union.
2015-02-20 16:40:10 +01:00
danicampora
e1dfc44178
cc3200: Disable FreeRTOS asserts. Optimize more files if BTYPE=debug.
2015-02-20 16:40:06 +01:00
danicampora
99f3f6b5de
cc3200: Add I2C module. Only master mode is currently supported.
2015-02-13 17:54:04 +01:00
Damien George
ccf45a4283
cc3200: Get bootloader compiling with changes to HAL.
2015-02-13 15:26:22 +00:00
Damien George
0b32e50365
stmhal: Make pybstdio usable by other ports, and use it.
...
Now all ports can use pybstdio.c to provide sys.stdin/stdout/stderr, so
long as they implement mp_hal_stdin_* and mp_hal_stdout_* functions.
2015-02-13 15:04:53 +00:00
danicampora
53716fcc3e
cc3200: Rename GPIO module to Pin.
...
This change helps making the cc3200 port API a bit closer to stmhal.
The ramaining differences are due to the specific hardware details
of each chip. One feature that has been deliberately disabled is the
possibility to add custom names and custom pin mappings. Those
features are nice and convenient, but in this port, code size is a
major concern.
2015-02-09 20:01:54 +01:00
danicampora
f8146d021b
cc3200: Add bootmanager relocator to the repository.
...
This file was accidentally skipped when the cc3200 port was added to the
tree since binary files are by default igonerd by git. This is a small
precompiled piece of software provided by TI that simply relocates the
boot manager to the beginning of the RAM space after it has been written
by the ROM bootloader.
2015-02-09 15:03:12 +01:00
Damien George
0bfc7638ba
py: Protect mp_parse and mp_compile with nlr push/pop block.
...
To enable parsing constants more efficiently, mp_parse should be allowed
to raise an exception, and mp_compile can already raise a MemoryError.
So these functions need to be protected by an nlr push/pop block.
This patch adds that feature in all places. This allows to simplify how
mp_parse and mp_compile are called: they now raise an exception if they
have an error and so explicit checking is not needed anymore.
2015-02-07 18:33:58 +00:00
danicampora
8785645a95
cc3200: Add cc3200 port of MicroPython.
...
The port currently implements support for GPIO, RTC, ExtInt and the WiFi
subsystem. A small file system is available in the serial flash. A
bootloader which makes OTA updates possible, is also part of this initial
implementation.
2015-02-06 22:10:11 +00:00