Commit graph

220 commits

Author SHA1 Message Date
Angus Gratton
cc97067fa1 Add C++ support to Makefile, and proof-of-concept simple.cpp example
This is a work in progress based on @mikejac's work.

Missing:
* No 'new' operator.
* I don't think STL is currently supported.
2015-09-20 21:13:38 +10:00
Alex Stewart
a3d7732da8 unaligned_load.c: Added more naive_strcpy tests
Added tests for naive_strcpy using a variety of different regs, as execution time can depend on which register is being used.
2015-09-19 20:03:22 -07:00
Alex Stewart
4c89a0574b Add sanity-test suite to unaligned_load.c
Tests are designed to methodically exercise all code paths/opcodes/offsets/etc.
2015-09-19 15:16:44 -07:00
Angus Gratton
cceb9de300 bmp180 i2c: Fix typo temperatue->temperature.
Closes #47
2015-09-18 17:59:50 +10:00
Angus Gratton
7d779389ab unaligned_load: Fix sign extension, add test case for sign extension
H/T to @foogod again for this.
2015-09-15 12:00:32 +10:00
Angus Gratton
7ebebf6d22 unaligned_load: Add doubleexceptionvector behaviour test 2015-09-15 12:00:26 +10:00
Angus Gratton
0432ae3745 Use GPIO2 for led_debug.S 2015-09-14 17:20:00 +10:00
Angus Gratton
46111bad52 dhcpserver cleanup, add access_point example
DHCP Server & AP mode tested w/ Debian & Android clients
2015-09-13 18:42:20 +10:00
Angus Gratton
347f9d3a85 Rename main.cpp in tasks example 2015-09-12 16:28:11 +10:00
Angus Gratton
8b90dbd9e5 Merge branch 'feature/c++' 2015-09-12 16:27:26 +10:00
Angus Gratton
1aaef737df Fix printf format string changed in merge 2015-09-10 21:11:52 +10:00
Angus Gratton
ac0a947453 Merge branch 'master' into experiments/unaligned_load 2015-09-10 08:19:42 +10:00
Angus Gratton
7ed064a750 libc: Redefine int32_t/uint32_t as 'int' not 'long'
libc built from projectgus/newlib-xtensa@0077776963

Closes #42
2015-09-05 13:37:00 +10:00
Angus71
fd1081a0cc Added BMP180 and I2C driver and example
Fixed reference to unknown environment var
Moved drivers into extras folder and added additional documentations.
Changed LOCAL to static and renamed DEBUG to BMP180_DEBUG
2015-08-31 13:39:27 +02:00
Angus Gratton
778b94cf40 examples/Makefile: Use MAKE to properly invoke make recursively 2015-08-26 11:14:34 +10:00
Angus Gratton
43ecec5470 Move c++ operators back to link-time resolutions, part of 'core'
This reverts commit e9b1df5cb5.
2015-08-26 11:07:06 +10:00
Angus Gratton
fff17627d9 Merge branch 'master' into feature/c++ 2015-08-26 10:46:48 +10:00
Angus Gratton
e9b1df5cb5 Post-merge cleanup of extras/cpp_support 2015-08-26 10:45:21 +10:00
Michael Jacobsen
5c1ce0a508 Header files adjustment
(MQTT changes split from original commit - @projectgus.)
2015-08-26 10:45:21 +10:00
Michael Jacobsen
94a953d3e3 Header files re-arrangement 2015-08-26 10:45:21 +10:00
Michael Jacobsen
6bc95994b7 Updated license 2015-08-26 10:45:21 +10:00
Michael Jacobsen
1282e11c08 Added C++ base components and example 2015-08-26 10:45:21 +10:00
Angus Gratton
aa17221929 Merge pull request #27 from foogod/issue_8
Convert headers to new *_regs.h format
2015-08-22 17:36:37 +10:00
Angus Gratton
66a1983a95 examples/Makefile: Make more make-like instead of using shell loops
Shell loops broke Travis fairly severely.
2015-08-21 15:54:01 +10:00
Alex Stewart
ab6f4b8420 Fixup some constants used in examples 2015-08-20 15:11:29 -07:00
Alex Stewart
fc1a1a7d0a Add esp/gpio_regs.h 2015-08-18 22:46:25 -07:00
Alex Stewart
2ffd3da71e Add esp/iomux_regs.h 2015-08-18 17:38:31 -07:00
Angus Gratton
7d480876fa Add basic C++ new/delete operators, as contributed by @mikejac in #24 2015-08-13 08:33:07 +10:00
Angus Gratton
8ea4ae27e2 Unaligned loader: Support l16si 2015-08-11 15:03:53 +10:00
Angus Gratton
424dc0f3b0 Add C++ support to Makefile, and proof-of-concept simple.cpp example
This is a work in progress based on @mikejac's work.

Missing:
* No 'new' operator.
* I don't think STL is currently supported.
2015-08-10 16:14:30 +10:00
Angus Gratton
3eee1a9845 Examples: Fix printf argument flags for older example programs 2015-08-10 14:50:56 +10:00
Angus Gratton
72670be012 Update work with WiFi credentials
PR #16
2015-08-10 14:50:32 +10:00
Angus Gratton
bfd38cd1e2 Experimental support for storing const strings in SPI flash or IRAM
As discussed in #11

Known limitations:
- Only supports l8ui/l16ui
- Unoptimised load routine
- Not called from DoubleExceptionHandler but should be
- Doesn't restore state properly when falling through to fatal exception handler
2015-08-10 12:03:03 +10:00
Johan Kanflo
0e521a74a9 WiFi credentials
Changed local.h to include/ssid_config.h and added instructions on how
to keep your WiFi credentials safe from Github.
2015-08-07 13:26:06 +02:00
Angus Gratton
19b8383069 Working TFTP server based OTA updates
Tested with 16MBit flash configuration, two rboot update slots.

Closes #10
2015-08-05 14:10:14 +10:00
Angus Gratton
6887a8119a Simple example: Fix printf modifier 2015-08-05 14:04:12 +10:00
Angus Gratton
147257efa4 Almost functional OTA support
ota_basic example can receive new image via TCP.

However - writing to flash with interrupts disabled causes data loss,
and the TCP flow is very slow to recover. Linux sender quickly ramps up
RTT timer to very long retry intervals, crippling performance &
throughput.

Running the update without the flash writes causes the data to be
received quickly, so this is definitely an issue with the time taken for
the erase cycle.

Progress towards #10
2015-07-29 16:50:23 +10:00
Angus Gratton
86188c01fd Merge branch 'newlib' 2015-07-15 16:01:18 +10:00
Angus Gratton
1d72ed3f70 Hardware timer support 2015-07-09 12:29:40 +10:00
Angus Gratton
ad37abda8b blink examplpe: Fix FreeRTOSConfig mistake 2015-06-17 08:07:26 +10:00
Angus Gratton
72b61b17f8 Create a default FreeRTOSConfig.h, can override on a per-program basis
Closes #12
2015-06-16 17:28:32 +10:00
Angus Gratton
8478dfd92f Examples: Rename main.c files to more descriptive file names 2015-06-16 16:59:32 +10:00
Angus Gratton
f0db6f2b98 WiFi Examples: Load SSID & password from a common local.h file instead
of coding into program
2015-06-16 16:58:27 +10:00
Angus Gratton
2e51f7b164 http_get_ssl example: Fix name of output elf file 2015-06-16 14:23:48 +10:00
Angus Gratton
aaef4b0644 Replace all binary SDK libc functions with newlib
Adds a new build step to remove the SDK object files listed in
<libname>.remove.

Closes #1.
2015-06-16 14:21:24 +10:00
Angus Gratton
1b0124cf05 Timer FRC1 & FRC2 registers
Mostly determined from reverse engineering and poking around.

Includes first "experiments" program with random bits and pieces for
poking at registers, may be useful to keep in source control but not
useful for writing actual programs.
2015-06-12 17:05:54 +10:00
Angus Gratton
685a48583a Change 'TARGET' in makefiles to 'PROGRAM', keep consistent with documentation terminology 2015-06-12 10:26:02 +10:00
Angus Gratton
47a7bb1952 blink example: Remove stray gpio_enable call 2015-06-12 09:57:32 +10:00
Angus Gratton
6a5866aa55 http examples: don't write NULs to sockets
Thanks @pfalcon for the heads-up.
2015-06-09 09:03:56 +10:00
Angus Gratton
c09167715e Indentation fixes
- Fix dir-locals so emacs won't inject occasional tabs to case statements.
- Fix stray tab indentation in example programs. (Thx @pfalcon for pointing this out)
2015-06-09 09:00:32 +10:00
Angus Gratton
0078252df3 Add GPIO config, interrupt registers, GPIO interrupt support, 'button' example 2015-06-08 18:20:29 +10:00
Angus Gratton
2c46be9825 Basic support for GPIOs 0-15.
Start new 'core' component for low-level parts

Progress towards #8
2015-06-08 12:09:34 +10:00
Angus Gratton
81afe58334 Change symbol extraction to use objdump not nm
nm outputs warnings to stderr so hard to clean output.

Also now picks up global variables, like NMIIrqOn.
2015-06-02 17:57:33 +10:00
Angus Gratton
9e3328abe8 Add 'examples' top level Makefile for building all examples together 2015-06-02 17:56:41 +10:00
Angus Gratton
70cec6c3b7 Rename the sdk_prototypes header to sdk_private 2015-06-02 17:15:00 +10:00
Angus Gratton
1292829a07 Add hmac test vector test program 2015-06-02 17:15:00 +10:00
Angus Gratton
c126fa6430 Add README, 'make help', header comments, Copyright notices 2015-06-02 17:12:20 +10:00
Angus Gratton
93c3e1a53a Add http_get_ssl example 2015-06-02 17:12:20 +10:00
Angus Gratton
e743d03a78 Preprocess all binary SDK symbols to add an sdk_ prefix
* This fixes the problem of axTLS symbols hmac_md5/hmac_sha1 having same
  name as symbols in libwpa (which have incompatible signatures)

* Also allows for easier identification and piece-by-piece removal of
  binary functions.

* Some libc symbols are not renamed, list is in lib/symbols_norename.txt
2015-06-02 15:08:35 +10:00
Angus Gratton
a6e8647114 Clean up FreeRTOSConfig defaults, increase min task stack size 2015-06-02 15:08:35 +10:00
Angus Gratton
cba882b46d http_get example: Fix printing of DNS resolved IP 2015-06-02 15:08:35 +10:00
Angus Gratton
7c982da48f Add function prototypes for LWIP SDK functions, allow compilng with -Werror again 2015-06-02 15:08:35 +10:00
Angus Gratton
df9e9bf9a4 Working from-source IP stack 2015-06-02 15:08:35 +10:00
Angus Gratton
e4bc8fab7a First set of changes for from-source esp-lwip 2015-06-02 15:08:35 +10:00
Angus Gratton
806962d5c7 Replace lwip SDK blob with lwip 1.4.1 upstream source
Compiles but won't work yet
2015-06-02 15:08:26 +10:00
Angus Gratton
d68970d51b Add example HTTP client 2015-06-02 15:07:54 +10:00
Angus Gratton
c2bdc4bf96 Change main Makefile to common.mk, add per-example Makefile that
includes common.mk
2015-05-07 15:58:01 +10:00
Angus Gratton
a63d6b61c9 Make example slightly more complex 2015-05-07 14:23:24 +10:00
Angus Gratton
b3c674d89d Swap memory management to FreeRTOS-style, fixed heap size 2015-05-07 14:23:24 +10:00
Angus Gratton
1ffbc303ff Working variant of esp_iot_rtos_sdk (files from commit ec75c85f9ef53) 2015-05-07 14:22:25 +10:00