Skip to content

Commit 333a32e

Browse files
author
Nathan Seidle
committed
Merge branch 'master' into PDM
2 parents 7e7bd39 + 8f4baeb commit 333a32e

File tree

18 files changed

+134
-538
lines changed

18 files changed

+134
-538
lines changed

README.md

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,52 +12,36 @@
1212

1313
## Installation
1414

15-
The structure of this repo is such that it will most closely resemble the structure required when it is time to add it to the Arduino boards manager. Until then you'll have to use the manual installation process.
16-
1715
* [Using Arduino IDE Boards Manager](https://github.com/sparkfun/Arduino_Boards) (Reccomended)
1816
* Follow the instructions at the [SparkFun Arduino Boards Repo](https://github.com/sparkfun/Arduino_Boards)
1917
* Open 'Boards Manager' and select 'SparkFun Apollo3 Boards,' install the latest version.
2018
* JSON boards manager link for convenience: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
2119

2220

23-
* [Manually Install in Arduino Sketchbook]()
24-
* **First** Install the Arduino SAMD Boards through the Arduino Board Manager. This is required for the ARM Cortex-M toolchain.
25-
* Open your Arduno sketchbook folder, listed in Arduino's preferences pane (it is where your libraries folder lives)
26-
* If there is no ```hardware``` folder create it
27-
* Inside the ```hardware``` folder create ```SparkFun```
28-
* Choose to clone with Git or download the .zip of this repo
29-
* Cloning
30-
* Clone this repo into ```SparkFun``` and give it the name ```apollo3```
31-
* .ZIP
32-
* Download the .ZIP of this repository
33-
* Within ```SparkFun``` create the ```apollo3``` directory
34-
* Unzip the contents of the .ZIP into the ```apollo3``` directory
35-
* Restart Arduino IDE for good measure
36-
3721

3822
## Development Status
3923

4024
The basic necesseties are in-place. This means that you can compile and upload code to your Apollo3 board. Development can be done with the whole range of Hardware Abstraction Layer functions provided in the AmbiqSuite Software Development Kit (based on Release2.1.0).
4125

42-
Current focus is to begin building support for the essential Arduino libraries including:
43-
* Serial: Fully implemented (will fix bugs and tweak performance over time)
44-
* GPIO
45-
* Working:
46-
* ditigal functions (read / write)
47-
* analogRead
48-
* analogWrite
49-
* interrupts
50-
* Timing
51-
* Working:
52-
* delay
53-
* delayMicroseconds
54-
* millis
55-
* micros
56-
* seconds (extension)
26+
**Main Arduino Features**
27+
* Serial: ✅
28+
* GPIO: ✅
29+
* Analog / Servo Output: ✅
30+
* Analog Input: ✅
31+
* Timing / Delays: ✅
5732
* Wire
58-
* Working: 90% use case, master I2C interface.
33+
* Master: ✅
34+
* Slave: ❌
5935
* SPI
60-
* Working: transfers with SPISettings.
36+
* Master: ✅
37+
* Slave: ❌
38+
39+
**Apollo3 Specialty Peripherals**
40+
* PDM Microphones / I2S: 🤔
41+
* BLE: 🤔
42+
* Multi-bit SPI: 🤔
43+
* I2C/SPI Slave: 🤔
44+
6145

6246

6347

@@ -78,6 +62,7 @@ The goal of this Arduino Core is to provide excellent Apollo3 support in a clear
7862

7963
## Repo Contents
8064

65+
* bootloaders: source code and binary images of the SparkFun Variable Loader (SVL)
8166
* cores : source code and headers common to all Apollo3 Arduino boards
8267
* docs :
8368
* CONTRIBUTING.md

bootloaders/artemis/!artemis_svl/README.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
Name:
22
=====
3-
hello_world_uart
3+
artemis_svl
44

55

66
Description:
77
============
8-
A simple "Hello World" example using the UART peripheral.
9-
10-
11-
Purpose:
12-
========
13-
This example prints a "Hello World" message with some device info
14-
over UART at 115200 baud. To see the output of this program, run AMFlash,
15-
and configure the console for UART. The example sleeps after it is done
16-
printing.
8+
Variable baud rate bootloader for Apollo3/Artemis
9+
10+
11+
Usage:
12+
=====
13+
This source code is provided mostly for reference. The easiest way to upload the SVL is by using the Arduino "burn bootloader" tool and selecting "Ambiq Secure Bootloader" as the "Programmer" option.
14+
15+
If you want to make changes you can compile and upload the artemis_svl using the AmbiqSuite SDK.
1716

1817

1918
******************************************************************************

cores/arduino/ard_sup/Arduino.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,6 @@ extern "C"
8484

8585
#include "variant.h"
8686

87+
#include "ap3_post_variant.h"
88+
8789
#endif // _ARDUINO_H_
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#ifndef _AP3_POST_VARIANT_H_
2+
#define _AP3_POST_VARIANT_H_
3+
4+
// Some fail-unsafe defines for SD card library compilation.
5+
// These ideally would be defined in a variant header, however
6+
// if they are not these definitions may suffice
7+
#ifndef SS
8+
#define SS 50
9+
#endif // SS
10+
#ifndef MOSI
11+
#define MOSI 50
12+
#endif // SS
13+
#ifndef MISO
14+
#define MISO 50
15+
#endif // SS
16+
#ifndef CLK
17+
#define CLK 50
18+
#endif // SS
19+
20+
21+
22+
23+
#endif // _AP3_POST_VARIANT_H_

cores/arduino/ard_sup/iomaster/ap3_iomaster.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ ap3_err_t IOMaster::initialize(am_hal_iom_config_t config){
5151
if (retVal32 != AM_HAL_STATUS_SUCCESS){ return AP3_ERR; }
5252

5353
// Configure the IOM pins. (Must be done by the inherited classes [this is just a reminder])
54+
55+
return AP3_OK;
5456
}
5557

5658
ap3_err_t IOMaster::deinitialize( void ){

docs/ACKNOWLEDGEMENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ Thank you to everyone who has contributed!
99
Contributors
1010
============
1111
* Jim Lindblom
12+
* Kenny Hora
1213
* Owen Lyke
1314
* Nathan Seidle

docs/CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ This is a record of the major changes between versions of the SparkFun Arduino A
55

66
Each log entry will use the version number of the release that contains the changes listed. Newest version at the top of the file (just below this line)
77

8+
1.0.6 - Aug 5 2019
9+
===================
10+
- Added default SD support with Arduino SD library
11+
- Fixed non-return errors in SPI library
12+
- Added full duplex capability to 'transfer(uint8_t)'
13+
14+
1.0.5 - Jul 30 2019
15+
===================
16+
- Minor updates to bootloaders
17+
- SVL: added some exits and improved verbose/quiet formatting
18+
- ASB (SBL): reduced impact of UART hammering with 'reset_input_buffer'
19+
20+
1.0.4 - Jul 25 2019
21+
===================
22+
- Implement Artemis SVL v3
23+
824
1.0.3 - Jul 16 2019
925
===================
1026
- Fix platform discrepancies in upload tools (SVL)

0 commit comments

Comments
 (0)