Daniel Campora
36821d095a
cc3200: Add alternate functions list to Pin object.
...
Also remove pin.high() and pin.low() methods.
2015-09-10 07:59:41 +02:00
Daniel Campora
d5e256486e
cc3200: Re-work Pin class according to the new API.
...
Also add relevant test.
2015-09-10 07:59:35 +02:00
Daniel Campora
42054c3cad
cc3200: Add mphal error to raise hardware related exceptions.
2015-09-10 07:59:29 +02:00
Daniel Campora
598aad2140
cc3200: Fix bug in pybsleep remove.
2015-09-10 07:59:23 +02:00
Daniel Campora
475c60eefc
cc3200: Add alt param to Pin constructor.
2015-09-10 07:59:16 +02:00
Daniel Campora
86854c7071
cc3200: Adapt smoke.py for the new pin API.
2015-09-10 07:59:10 +02:00
Daniel Campora
e3f8777ee8
cc3200: Implement new Pin API.
2015-09-10 07:59:03 +02:00
Daniel Campora
ec8589e4c9
cc3200: Improve uniflash script and make it a bit more verbose.
2015-09-10 07:56:48 +02:00
Daniel Campora
b864e7afe4
cc3200: Remove the UART0 programming pins from the smoke test.
2015-09-10 07:56:46 +02:00
Daniel Campora
0e978349a5
cc3200: Correct smoke test expected result.
2015-08-16 20:18:16 +02:00
Daniel Campora
e9fa7625f4
cc3200: Correct WLAN constructor argument checking.
2015-08-16 20:18:13 +02:00
Daniel Campora
c0c07fb1b6
cc3200: Don't clear the WDT special bit in the bootloader.
2015-08-16 20:18:11 +02:00
Daniel Campora
aa8e8acb7d
cc3200: Change HeartBeat period from 5 to 4 seconds.
2015-08-16 20:18:09 +02:00
Daniel Campora
f837d166e5
cc3200: Fix typo in modpyb.
2015-08-16 20:18:07 +02:00
Daniel Campora
9249242119
cc3200: Remove unneeded loops in the FreeRTOS hooks.
2015-08-16 20:18:05 +02:00
Daniel Campora
641a3d39e1
cc3200: Make sure to update sleep objects when registered.
2015-08-16 20:18:02 +02:00
Daniel Campora
6ff2d54347
cc3200: Small renaming in wdt functions for the sake of consistency.
2015-08-16 20:18:00 +02:00
Daniel Campora
11d21081b4
cc3200: Rework SD API. Increase heap to avoid malloc failures.
2015-08-16 20:17:58 +02:00
Daniel Campora
34c290b678
cc3200: Rename SPI nss param to cs.
...
The nss param in the pyboard has a different meaning that doesn't
apply to the WiPy.
2015-08-16 20:17:55 +02:00
Daniel Campora
ea5061e409
cc3200: Improve callback API.
...
Rename "wakes" param to "wake_from" and make "value" an object
instead of an integer.
2015-08-16 20:17:52 +02:00
Daniel Campora
4c5bfe2d10
cc3200: Server side SSL socket requires both certfile and keyfile.
2015-08-16 20:17:49 +02:00
Daniel Campora
7027fd5343
cc3200: Make ADC API compatible with the pyboard.
2015-08-10 23:42:05 +02:00
Daniel Campora
7da2fdc3cd
cc3200: On the first boot, always make AP ssid='wipy-wlan'.
...
On the first boot don't add the MAC address, this is to speed up
factory testing.
2015-08-09 22:16:45 +02:00
Daniel Campora
2673374d18
cc3200: Refactor PRCM special user bits implementation.
2015-08-09 22:15:18 +02:00
Daniel Campora
651c870d77
cc3200: Speed up file system checking during start-up.
2015-08-09 22:09:16 +02:00
Daniel Campora
aa3569cd57
cc3200: Add factory smoke test as part of the tools.
2015-08-09 19:22:26 +02:00
Daniel Campora
8cd9fedf58
cc3200: Add script to program the WiPy via UniFlash (windows only...).
2015-08-09 19:22:23 +02:00
Daniel Campora
e23ae63970
cc3200: Fix bug in ffconf regarding '/flash' string length.
...
This bug was introduced when renaming '/sflash' to '/flash'.
2015-08-09 19:22:21 +02:00
Daniel Campora
31f6a6fa70
cc3200: Enable bootloader safe boot on latest firmware.
...
The first safe boot level executes the latest firmware but skips
'main.py' and 'boot.py'.
2015-08-09 19:22:19 +02:00
Daniel Campora
e54a4f1f48
cc3200: Improve support for WEP security.
...
Key is always entered as a string, but if security is WEP, the key
is converted automatically to hex before connecting or configuring
the device as an AP.
2015-08-09 19:22:16 +02:00
Daniel Campora
00c4d6562e
cc3200: Add nic.iwconfig() to set/get WLAN configuration.
...
Changes are based on this post:
https://github.com/micropython/micropython/issues/876#issuecomment-115255551
The constructor can optionally take the same params of iwconfig in
order to configure WiFi when creating the object. Params are
keyworkd only. The WiPy accepts:
- mode (int -> WLAN.AP or WLAN.STA)
- ssdi (string)
- security (int -> WLAN.OPEN, WLAN.WEP, WLAN.WPA, WLAN.WPA2)
- key (string)
- channel (int (1-11))
- antenna (int -> WLAN.INTERNAL, WLAN.EXTERNAL)
2015-08-09 19:22:12 +02:00
Daniel Campora
c6926c374d
cc3200: Make I2C and SPI API the same as in stmhal.
2015-08-02 20:22:15 +02:00
Daniel Campora
aa58c7ec74
cc3200: Append last 2 bytes of the MAC address to the default SSID.
2015-07-30 00:43:16 +02:00
Daniel Campora
b56634e691
cc3200: On ssl.read() or ssl.readall() ignore ssl layer closed error.
2015-07-30 00:43:14 +02:00
Daniel Campora
fb3f9cff33
cc3200: Switch to 1 byte hash for QSTRs.
2015-07-30 00:43:13 +02:00
Daniel Campora
9a348fc840
cc3200: Add socket.makefile()
2015-07-30 00:43:10 +02:00
Daniel Campora
007878781c
cc3200: Rename pins from GPIO to just GP.
...
This is how the names will be printed on the sticker that goes on top
of the EMI shield. The shorter names also help saving a few bytes of
RAM and ROM.
2015-07-30 00:43:08 +02:00
Daniel Campora
f22b35e4e5
cc3200: Add socket.sendall() (aliases to send()).
...
Simplelink's socket send checks for the size of the packet and sends
it in chunks if the size is too large.
2015-07-17 11:38:01 +02:00
Daniel Campora
a243d6b057
cc3200: Make socket stream methods return POSIX error codes.
2015-07-16 22:39:35 +02:00
Daniel Campora
f738424403
cc3200: Remove superflous assignment since the result is not used.
2015-07-15 14:45:24 +02:00
Daniel Campora
753a8e8bc4
cc3200: Create /flash/cert folder if it doesn't exist.
2015-07-15 14:25:35 +02:00
Daniel Campora
e955089da0
cc3200: Implement new OTA mechanism with 2 firmware update slots.
2015-07-15 14:25:28 +02:00
Daniel Campora
cf814b2d34
cc3200: Refactor and clean-up socket closing code.
2015-07-10 11:37:50 +02:00
Daniel Campora
ecb7f9fe58
cc3200: Set simplelink time and date when enabling WLAN.
2015-07-10 11:37:48 +02:00
Daniel Campora
fa47bebfbc
cc3200: Add struct weak link for ustruct.
2015-07-10 11:37:46 +02:00
Daniel Campora
af33ebb13b
cc3200: Increment telnet Tx retry delay on every try.
2015-07-09 17:30:17 +02:00
Daniel Campora
9220dc466a
cc3200: Correct udelay us to ticks calculation.
2015-07-08 13:13:37 +02:00
Daniel Campora
d18ced9cdd
cc3200: Use alternative HAL_Delay also when interrupts are disabled.
2015-07-08 12:48:35 +02:00
Daniel Campora
a0a3de60be
cc3200: Translate simplelink's socket error numbers to POSIX values.
2015-07-07 16:13:54 +02:00
Daniel Campora
5685b565c3
cc3200: Create /flash/sys and /flash/lib directories while booting.
2015-07-07 16:13:40 +02:00
Daniel Campora
76e52b5daf
cc3200: Make update-wipy.py more robust.
2015-07-07 16:11:48 +02:00
Daniel Campora
fa655ce196
cc3200: Improve interrupt handling and fix bug in HAL_Delay().
2015-07-07 16:11:05 +02:00
Daniel Campora
194c8c761e
cc3200: Increment interrupt stack size from 2K to 3K.
2015-07-07 16:10:10 +02:00
Daniel Campora
aaf7c5b35e
cc3200/README.md: Improve make deploy instructions.
2015-07-04 16:39:05 +02:00
Daniel Campora
c030e77861
cc3200: Enable base64 methods from modubinascii.
2015-07-04 16:33:54 +02:00
Daniel Campora
219a74c014
cc3200/README.md: Add notes about deploying a new software version.
2015-07-04 16:32:49 +02:00
Daniel Campora
31b40eebe8
cc3200: Fix socket recv and recvfrom return value type.
2015-07-02 23:17:22 +02:00
Daniel Campora
5161239c9f
cc3200: time.sleep() now receives seconds, like CPython.
2015-07-02 17:23:22 +02:00
Daniel Campora
9a65fa304c
cc3200: Add modussl, ssl sockets subclassed from normal sockets.
...
Stream methods were added to normal sockets as in the unix port.
2015-07-02 16:30:00 +02:00
Daniel Campora
7c1c9af5d4
cc3200: Code clean-up on pybpin.
2015-07-02 16:29:51 +02:00
Daniel Campora
4f8eeaedef
cc3200: Set WLAN date/time via the rtc.datetime method().
...
WLAN needs time info when validating certificates.
2015-07-02 16:29:43 +02:00
Daniel Campora
d680e28a11
cc3200: Optimize check for WLAN AP mode.
2015-07-02 16:15:59 +02:00
Daniel Campora
7fd538c1b6
cc3200: Raise an exception if trying to scan for networks in AP mode.
2015-07-02 15:03:58 +02:00
Daniel Campora
f522849a4d
cc3200: Add socket.timeout and socket.error exceptions.
2015-07-02 11:53:15 +02:00
Daniel Campora
70fc42cb28
cc3200: Add CA, certificate and key files to the updater list.
2015-06-30 22:11:15 +02:00
Daniel Campora
5ebf39784a
cc3200: Correct socket settimeout time format.
2015-06-29 11:01:11 +02:00
Daniel Campora
4f5b896a0b
cc3200: Adapt update-wipy.py timing to improve stability.
2015-06-28 14:14:24 +02:00
Daniel Campora
813b581127
cc3200: Add Pin.name()
method.
2015-06-28 14:14:22 +02:00
Daniel Campora
778413168b
cc3200: Enable more features to improve compatibility with stmhal.
2015-06-28 14:14:20 +02:00
Daniel Campora
d02f671737
cc3200: Add deploy target and improve robustness of update-wipy.py.
2015-06-24 15:26:05 +02:00
Daniel Campora
e64afde073
cc3200: Create tools folder and add update-wipy.py script.
...
This script is used by Jenkins to update the WiPy with the newly
built firmware before running the tests. It's not placed in the
common tools folder because it is very WiPy specific.
2015-06-24 12:36:38 +02:00
Daniel Campora
92d95cc9d3
cc3200: Remove --specs=nano.specs linker flag.
2015-06-18 09:01:37 +02:00
Daniel Campora
ea2cc2b907
docs: Add more documentation for the CC3200 in the pyb module.
2015-06-16 15:45:24 +02:00
Daniel Campora
cdfa11f550
cc3200: In Timer.callback() only use value param if in edge count mode.
2015-06-16 15:34:46 +02:00
Daniel Campora
f28ed55aeb
cc3200/README.md: Specify the board name in the build command.
2015-06-11 09:26:36 +02:00
Daniel Campora
b630de1103
cc3200: Rename os.mkdisk() to os.mkfs().
2015-06-10 23:35:45 +02:00
Daniel Campora
1811c6bccf
cc3200: Remove Timer.AB constant.
...
Timer.A and Timer.B can be ORed for this purpose.
2015-06-10 23:35:43 +02:00
Daniel Campora
e2dc7ac2a9
cc3200: Clarify notes about the extended functionality of uhashlib.
2015-06-10 23:35:41 +02:00
Daniel Campora
95cc1ff542
cc3200: Re-name pyb.hard_reset() to pyb.reset().
2015-06-10 23:35:40 +02:00
Daniel Campora
330e21c986
cc3200: Use the pull up/down resistors on the antenna selection pins.
2015-06-10 23:35:38 +02:00
Daniel Campora
f960d753e4
cc3200: Fix bootloader build error.
2015-06-10 23:35:36 +02:00
Daniel Campora
3319780e96
cc3200: Add sendbreak method to the UART.
2015-06-10 23:35:35 +02:00
Daniel Campora
8a6d93aeed
cc3200: Make UART API more similar to stmhal.
2015-06-10 23:35:33 +02:00
Daniel Campora
640d00ea9d
cc3200: Change MP_OBJ_NULL for mp_const_none in params default value.
2015-06-10 23:35:32 +02:00
Daniel Campora
071d47fa3b
cc3200: Only kick the WDT if it's actually running.
2015-06-10 23:35:30 +02:00
Daniel Campora
6148f8b7d2
cc3200: Add contructor to the HeartBeat class.
2015-06-10 23:35:28 +02:00
Daniel Campora
371f4ba6b3
cc3200: Wrap antenna_init0() with #if MICROPY_HW_ANTENNA_DIVERSITY.
2015-06-08 10:38:19 +02:00
Daniel Campora
491c321720
cc3200: Re-config antenna selection when waking from suspended mode.
2015-06-07 13:28:47 +02:00
Daniel Campora
b4a41a8f70
cc3200: Add missing antenna diversity source files.
2015-06-07 00:42:40 +02:00
Daniel Campora
a3acaa000c
cc3200: Add antenna selection feature to WLAN.
2015-06-07 00:06:27 +02:00
Daniel Campora
a3cf4ea2f6
cc3200: Do not kick the watchdog inside the idle task.
2015-06-04 10:13:55 +02:00
Daniel Campora
71f85cc330
cc3200: Close ftp and telnet server sockets if listening fails.
2015-06-04 10:13:53 +02:00
Daniel Campora
cc20482aa9
cc3200: Add method to configure the servers timeout.
...
With network.server_timeout(secs) the timeout can be changed.
The default value is 300 secs. Minimmum accpeted is 5 secs.
Without params the function returns the current configured timeout.
2015-06-03 17:31:21 +02:00
Daniel Campora
2ffb6e1b15
cc3200: Fix 'MP_QSTR_sd' undeclared error when building for the LAUNCHXL.
2015-06-02 13:11:01 +02:00
Daniel Campora
84d11b5e53
cc3200: Add period set method to the Timer class.
2015-05-29 15:54:46 +02:00
Daniel Campora
417205623a
cc3200: Fix incorrect type for the wake cause variable.
2015-05-29 15:54:16 +02:00
Daniel Campora
2f2c0a13fb
cc3200: Clean up WLAN API. Make WLAN.info() an attrtuple.
2015-05-29 15:48:41 +02:00
Daniel Campora
622f241317
cc3200: Rename pyb.reset() to pyb.hard_reset() and add pyb.unique_id().
2015-05-29 10:22:20 +02:00
Daniel Campora
78744c4f7a
cc3200: Remove WIPY-SD variant, and make the WiPy the default board.
2015-05-28 13:22:26 +02:00
Daniel Campora
2abb58d758
cc3200: Rename Pin.get_config() to Pin.info().
2015-05-28 13:10:46 +02:00
Daniel Campora
1580e331ef
cc3200: Make small changes in WLAN to improve the API.
2015-05-28 13:10:44 +02:00
Daniel Campora
c754d8011d
cc3200: Simplify SPI polarity and phase checks in constructor.
2015-05-27 09:45:32 +02:00
Daniel Campora
95104b0fbd
cc3200: Add note about old revisions of the CC3200-LAUNCHXL.
2015-05-27 09:45:30 +02:00
Daniel Campora
d07de2d307
cc3200: Move the STDIO UART pin configuration to mpconfigboard.h.
2015-05-27 09:45:29 +02:00
Daniel Campora
9414f92fa9
cc3200: Fix I2C and SPI module references.
2015-05-27 09:45:27 +02:00
Daniel Campora
8096be089e
cc3200: Add make_new method to the WDT.
2015-05-27 09:45:25 +02:00
Daniel Campora
fca3493442
cc3200: Add make_new method to the RTC, like in stmhal.
2015-05-27 09:45:24 +02:00
Daniel Campora
5a0c5f8fea
cc3200: Use the WDT stall feature in debug mode only.
2015-05-27 09:45:22 +02:00
Daniel Campora
ec1f0e7551
cc3200: Use MCU reset instead of SOC reset.
...
I have seen the CC3200 hanging a couple of times, and according to TI
itself the SOC reset is not reliable, which explains my observations.
2015-05-27 09:45:21 +02:00
Daniel Campora
fabe79f7af
cc3200: Clean up exception handling.
2015-05-26 12:29:20 +02:00
Daniel Campora
124aa000af
cc3200: Use polarity and phase instead of submode in the SPI construct.
2015-05-26 11:30:48 +02:00
Daniel Campora
2dd47239de
cc3200: Make API more similar to stmhal.
...
In general the changes are:
1. Peripheral (UART, SPI, ADC, I2C, Timer) IDs start from 1, not zero.
2. Make I2C and SPI require the ID even when there's only one bus.
3. Make I2C and SPI accept 'mode' parameter even though only MASTER
is supported.
2015-05-25 21:47:19 +02:00
Daniel Campora
6545336206
cc3200: Make the WDT aware of the servers sleep/wake state.
2015-05-25 21:14:54 +02:00
Daniel Campora
5cd34aca27
cc3200: Use the correct ADC channel index when creating the object.
2015-05-25 21:14:46 +02:00
Daniel Campora
95f19b4542
cc3200: Remove duplicated checks for boot.py and main.py existency.
2015-05-25 21:14:39 +02:00
Daniel Campora
90d7c4ef3d
cc3200: Make HeartBeat.disable() thread safe.
2015-05-25 21:14:31 +02:00
Daniel Campora
3cb804de26
cc3200: Remove NIC abstraction layer.
...
That layer is nice, but the CC3200 doesn't need it and getting rid of
it saves ~200 bytes, which are more than welcome.
2015-05-24 11:44:08 +02:00
Daniel Campora
9f8c5456be
cc3200: Reset the servers and close user sockets on WLAN disconection.
...
This is needed to avoid half-open connections.
2015-05-24 11:44:06 +02:00
Daniel Campora
ed56b0baba
cc3200: Finally unlock the full wake on WLAN feature set.
2015-05-22 19:53:33 +02:00
Daniel Campora
18030bd85d
cc3200: Add own ubinascii module.
...
The reason to have our owm ubinascii module is so that later we
can add crc32 support using the hardware engine.
2015-05-22 09:56:11 +02:00
Daniel Campora
7506db4ccb
cc3200: Remove uhashlib.hexdigest().
2015-05-21 18:51:57 +02:00
Daniel Campora
e800db562f
cc3200: Add uhashlib. Supports SHA1 and SHA256.
2015-05-20 11:44:24 +02:00
Daniel Campora
5e38b48dd6
cc3200: Fix time.localtime() so that it returns the correct fields.
2015-05-20 11:44:22 +02:00
Daniel Campora
56053c37cf
cc3200: Rewrite WLAN.ifconfig(). Add WLAN.info() and WLAN.connections().
2015-05-20 11:44:21 +02:00
Daniel Campora
514ba15d6a
cc3200: Disable UCTYPES and enable ARRAY_SLICE_ASSIGN.
2015-05-20 11:44:19 +02:00
Daniel Campora
6f848b6dba
cc3200: Set the timer edge count interrupt value in the calbback const.
2015-05-17 16:11:12 +02:00
Daniel Campora
95a4f61499
cc3200: Make sure RTC wake value is >= 1ms.
2015-05-17 16:09:27 +02:00
Daniel Campora
c27dc38e85
cc3200: Re-name 'intmode' to 'mode' in the callback API.
2015-05-17 14:49:17 +02:00
Daniel Campora
cd3f2523f1
cc3200: Disable WLAN.urn() by default.
...
Can be enabled by defining MICROPY_PORT_WLAN_URN=1 in mpconfigport.h.
2015-05-17 14:20:24 +02:00
Daniel Campora
a379b6ed11
cc3200: Add optional timeout param to WLAN.connect().
2015-05-17 14:05:44 +02:00
Daniel Campora
fb9e4cf463
cc3200: Make sure to handle all pending pin interrupts.
...
When entering the interrupt handler of a given GPIO port, more than
one pin could have pending interrupts, therefore care must be taken
to service each interrupt one by one before leaving.
2015-05-17 13:42:15 +02:00
Daniel Campora
8e611e8414
cc3200: Add Timer module. Supports free running, PWM and capture modes.
2015-05-17 12:34:49 +02:00
Daniel Campora
9466e154b4
cc3200: Fix power mode param check in the UART callback constructor.
2015-05-17 12:26:40 +02:00
Daniel Campora
2b62707051
cc3200: Add os.rename()
2015-05-17 12:22:17 +02:00
Josef Gajdusek
1db4253886
lib: Move time utility functions to common library.
2015-05-13 00:12:54 +01:00
Damien George
c50772d19f
py: Add mp_obj_get_int_truncated and use it where appropriate.
...
mp_obj_get_int_truncated will raise a TypeError if the argument is not
an integral type. Use mp_obj_int_get_truncated only when you know the
argument is a small or big int.
2015-05-12 23:05:53 +01:00
Daniel Campora
2bdefea9d6
cc3200: Enable MICROPY_MODULE_WEAK_LINKS.
2015-05-07 12:19:31 +02:00
Daniel Campora
e04aa96b4d
cc3200: Define MICROPY_CPYTHON_COMPAT=0.
...
This only disables some corner case functionality to keep C Python
compatibility, and saves ~600 bytes.
2015-05-05 11:23:06 +02:00
Josef Gajdusek
04ee5983fe
lib: Move some common mod_network_* functions to lib/netutils.
2015-05-04 11:48:40 +01:00
Daniel Campora
8c8d7f3c60
cc3200: Clean up pyb.Pin
...
Remove unused and unneeded functions, also create Pin.get_config() that
returns the whole configuration of the pin.
This reduces code size by ~500 bytes.
2015-05-03 11:26:56 +02:00
Daniel Campora
e4c899a08c
cc3200: WLAN.ifconfig returns an attrtuple instead of a dictionary.
2015-05-03 11:26:25 +02:00
Daniel Campora
f54bdecff2
cc3200: Implement Sleep.wake_reason()
2015-05-03 11:21:14 +02:00
Daniel Campora
71d482df47
cc3200: Clear the pending interrupt flag when disabling RTC callbacks.
2015-05-03 11:21:12 +02:00
Daniel Campora
6f218d7472
cc3200: Move wlan_init0() to the boot section.
...
This one creates a semaphore, therefore it must be executed only
after a hard reset (or when coming out of hibernation).
2015-04-29 16:10:40 +02:00
Daniel Campora
d8713d78f5
cc3200: Correct Sleep module name. Must be 'Sleep', not 'sleep'.
2015-04-29 15:27:28 +02:00
Daniel Campora
e282884e54
cc3200: When requesting safe boot, blink the led 3 times, not 4.
2015-04-29 15:27:21 +02:00
Daniel Campora
dbb4aef5e3
cc3200: Make WLAN.isconnected() also work in AP mode.
...
While in STA mode isconnected() returns True when connected to an AP
and the IP has been acquired. In AP mode, WLAN.isconnected() returns
True if at least one connected station is present.
2015-04-29 15:26:21 +02:00
Daniel Campora
bf4576dc91
cc3200: Clean-up servers enable/disable algorithm.
2015-04-29 14:25:44 +02:00
Damien George
95f53461c2
py: Replace py-version.sh with makeversionhdr.py, written in Python.
...
Also rename py-version.h to mpversion.h for consistency with mpconfig.h.
2015-04-28 23:52:36 +01:00
Daniel Campora
d11317bcab
cc3200: Make WLAN scan results a list of attrtupple.
...
Each result is displayed like this:
ssid='MySSID', bssid=b'\xc0J\x00z.\xcc', security=2, channel=None, rssi=-74
The CC3200 doesn't provide channel info, that why is 'None'.
2015-04-29 00:04:01 +02:00