Skip to content

UART frame error handling #38

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 47 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f44b7a4
Add magspoof bootloader
wero1414 Dec 7, 2019
6c73066
Update Core for Electronic Cats from Arduino Board Index
sabas1080 Jul 15, 2020
3fe08eb
Update README
sabas1080 Jul 15, 2020
94522cf
Update version
sabas1080 Jul 15, 2020
42959e8
Add shell for packing
wero1414 Jul 15, 2020
5c98b80
fix bash
wero1414 Jul 15, 2020
a7ffbaa
script release working for mac
sabas1080 Jul 15, 2020
2e2d00e
update information about bootloaders
sabas1080 Jul 15, 2020
d086724
add APICore
sabas1080 Jul 15, 2020
980ffe4
Update changelog
sabas1080 Jul 15, 2020
2d38c3b
Update README
sabas1080 Jul 15, 2020
8b06c92
UPDATE 2.0.1
wero1414 Jul 15, 2020
318bc53
github actions
sabas1080 Jul 17, 2020
d92561f
Merge remote-tracking branch 'origin/master'
sabas1080 Jul 17, 2020
a3175b3
fix path actions :P
sabas1080 Jul 17, 2020
904cfdd
extras build all python
sabas1080 Jul 17, 2020
2376438
update platform test
sabas1080 Jul 17, 2020
a2c3c9c
update names for fqbn and test
sabas1080 Jul 17, 2020
c203003
update build script
sabas1080 Jul 17, 2020
3db7ba5
fix redefined virtual serial bast mini m0
sabas1080 Jul 17, 2020
fddb439
update VARIANT_COMPLIANCE bast pro mini
sabas1080 Jul 17, 2020
f792753
added lost configuration pin bast pro mini
sabas1080 Jul 17, 2020
7c42ddf
lost per attribution for bast pro mini m0
sabas1080 Jul 17, 2020
d784e58
update for I2S
sabas1080 Jul 17, 2020
c3183a3
skip all board electroniccats
sabas1080 Jul 17, 2020
5fd9259
skip USB for samd11
sabas1080 Jul 17, 2020
cf13cb0
add new skips sketch
sabas1080 Jul 17, 2020
6757265
update test analog
sabas1080 Jul 18, 2020
e9e068e
add new test skip
sabas1080 Jul 18, 2020
c2580f5
error name skip
sabas1080 Jul 18, 2020
336af38
skip test I2C and SPI meow meow mini
sabas1080 Jul 18, 2020
d7907c0
skip test I2C for catwantracker
sabas1080 Jul 18, 2020
0fcc04d
Change I2C with SPI in Magspoof v3
sabas1080 Jul 18, 2020
985bb79
fix typo
sabas1080 Jul 18, 2020
165a452
Update PIO_SERCOM PER
sabas1080 Jul 21, 2020
7495ac5
remove SPI comments
sabas1080 Jul 21, 2020
de42b6e
remove virtual serial redefine
sabas1080 Jul 21, 2020
e102b43
fix typo
sabas1080 Jul 21, 2020
f0b2dac
variant cpp fix
sabas1080 Jul 21, 2020
0a3ace6
README added badge github action
sabas1080 Jul 21, 2020
58da0ad
Update README.md
sabas1080 Jul 21, 2020
3d9dfe0
Update variant.h
sabas1080 Jul 21, 2020
d9bc0c4
update 2.0.2
wero1414 Jul 22, 2020
6b093a8
UPDATE KEYWORDS
wero1414 Jul 24, 2020
347b365
add configuration pins for BastWAN
wero1414 Jul 24, 2020
92a5a95
update platform 2.0.3
wero1414 Jul 24, 2020
7a60392
add clearFrameError UART
sabas1080 Jul 24, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Build

on: [pull_request, push]

jobs:
build:
strategy:
fail-fast: false
matrix:
arduino-platform: ['bast_pro_mini_m0', 'catwan_usb_stick', 'meow_meow', catwan_relay_board, catwan_citizen,
makech, catwan_tracker, nfc_copy_cat, magspoofv3, bastwan, meowmeow_mini]

runs-on: ubuntu-latest

steps:
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: '3.x'

- name: Checkout code
uses: actions/checkout@v2

- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive

- name: Install Arduino CLI and Tools
run: |
# make all our directories we need for files and libraries
mkdir $HOME/.arduino15
mkdir $HOME/.arduino15/packages
mkdir $HOME/Arduino
mkdir $HOME/Arduino/libraries
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
echo "::add-path::$GITHUB_WORKSPACE/bin"

- name: Install BSP and Libraries
env:
BSP_URL: https://electroniccats.github.io/Arduino_Boards_Index/package_electroniccats_index.json
BSP_PATH: .arduino15/packages/electroniccats/hardware/samd
LIB_DEPS: FlashStorage SD
run: |
arduino-cli config init
arduino-cli core update-index
arduino-cli core update-index --additional-urls $BSP_URL
arduino-cli core install arduino:samd --additional-urls $BSP_URL
arduino-cli core install electroniccats:samd --additional-urls $BSP_URL
# Repalce release BSP with our code
BSP_VERSION=`eval ls $HOME/$BSP_PATH`
rm -r $HOME/$BSP_PATH/*
ln -s $GITHUB_WORKSPACE $HOME/$BSP_PATH/$BSP_VERSION
arduino-cli lib install $LIB_DEPS
- name: Build examples
run: python3 extras/build_all.py ${{ matrix.arduino-platform }}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
*.bz2

bootloaders/*/build/

.DS_Store

*.json
599 changes: 599 additions & 0 deletions APICore.md

Large diffs are not rendered by default.

1,027 changes: 65 additions & 962 deletions README.md

Large diffs are not rendered by default.

90 changes: 71 additions & 19 deletions VARIANT_COMPLIANCE_CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,20 +1,72 @@
1.6.18-beta-b1 (June 26, 2018):
* MATTAIRTECH_ARDUINO_SAMD_VARIANT_COMPLIANCE is now 10618
## What's New - Beta Version (2.0.00-beta)

**2.0.0-beta-b1 (Jul 14, 2020):**

* Added support for SAMR34
* Added support for Electronic Cats Boards
* Remove Mattairtech Boards
* Update with Arduino Core official fix
* Remove menu for SPI, Serial and I2C interfaces
* Thanks Mattairtech!

## What's New - Beta Version (1.6.18-beta)
**Beta builds are now included in the main json. See Beta Builds section.**

**1.6.18-beta-b1 (June 26, 2018):**
* Added support for 20 different timer PWM frequencies selectable through the Tools menu, as well as other various clock system changes
* Added support for the hardware FPU of the D51
* Added optional support for single precision floating point numbers (in addition to the existing support for doubles) in both the Print and String classes, configurable from the Tools menu. This can save a great deal of code space. Thanks to Soren Kuula and Dmitry Xmelkov for their previous work.
* Added support for 64-bit integer types to the Print class (long long and unsigned long long)
* Added optional support for printing floating point numbers using the Print class with values greater/less than +/-4,294,967,295. It now supports +/-18,446,744,073,709,551,615.
* Made various changes to reduce code size, including making ADC and DAC initialization optional if unused, using VARIANT_MCK instead of SystemCoreClock in init(), and converting some RMW's to writes. Added config.h file for configuration.
* Added an additional PinDescription table format, which can be used to reduce code size (D11 chips only for now)
The PinDescription table can now be 4 bytes per pin, rather than 12 bytes per pin, with little change in functionality for most.
See the README.md in any board variant directory for more information.

1.6.8-beta-b0:
* Introduced MATTAIRTECH_ARDUINO_SAMD_VARIANT_COMPLIANCE define and VARIANT_COMPLIANCE_CHANGELOG file.
The definitions in the variants files need the MattairTech SAMD core >= the listed version.
The format is different than the stock Arduino SAMD core, which uses ARDUINO_SAMD_VARIANT_COMPLIANCE instead.
If using board variant files with the old format, the new core will still read the table the old way, losing
any new features introduced by the new column.
* The GCLKCCL column was added. It is not yet used. It will eventually support the Analog Comparators (AC),
the Configurable Custom Logic (CCL) units of the L21 and C21, and the GCLK outputs (inputs).
* New definitions have been added for L21 and C21 support.
* The C21 has two ADC instances, which is selected in the PeripheralAttribute column.
* the timer type is now encoded in this column to support the L21 and C21, which use TC numbers starting at 0
(rather than 3 as on the D21).
* From SAMD CORE 1.6.10 merge: The linker script must define `__text_start__` symbol at the beginning of .text section.
This symbol is used to automatically determine the bootloader size.
* Added BATTERY_CHARGER_INSTALLED, IMU_INSTALLED, and VIN_5V_REGULATOR_INSTALLED defines to variants/Xeno_Mini/variant.c (and variant.h) to prevent associated pins from being configured as outputs, thus avoiding contention.
* Fixed bad first read from analogRead() after changing references by using a dummy read.
* Documentation updates, including new PinDescription table format
* Beta builds will now be included in the main release json file

**1.6.18-beta-b0 (February 22, 2018):**
* Added SAM D51 (m4f) support to core
* Added MattairTech Xeno Mini board support
* Changed name to "MattairTech SAM D|L|C core for Arduino"
* Added _ulTickCountHighWord to delay() to better handle 49.7-day wraparound
* Updated timeout in [Bossa](https://github.com/mattairtech/BOSSA) tool for D51 1MB FLASH (5 second erase)
* Correction of include path for CMSIS-Atmel - Thanks @joseangeljimenez
* Documentation updates
* Merged in changes from upstream SAMD CORE 1.6.18 (not released yet)
* Don't reallocate USB buffers if already allocated - fixes memory leak
* Wire: Added support for general call (broadcast)
* SPI: Added SPI.notUsingInterrupt(...) API
* Wire: TX and RX buffers are now 256 bytes (previously was 64 bytes)
* Fixed lock ups when outputting to UART during ISR
* Wire: correct I2C frequency calculations, and allow variant to overide default pull up resistor rise time
* Merged in changes from upstream SAMD CORE 1.6.17
* UART's now support optional RTS and CTS pins defined in the variant.

**1.6.17 (February 22, 2018):**
* Added SAM D51 (m4f) support to bootloader
* Added Generic D11D14AS (20-pin SOIC) variant
* Made PIN_USB_HOST_ENABLE optional. Readme updates for MT-D11 and Generic D11C14A
* Fixed USB pad calibration values for L21 in bootloader and USB host mode
* Improve accuracy of HS crystal (fixed off-by-one calculation)
* fixed wrong location for call to mapResolution(), doc updates
* Documentation updates
* Merged in changes from upstream SAMD CORE 1.6.17 (not released yet)
* Improved ISR response time. Thanks @joverbee
* No fixed value for USB power current.

**1.6.17-beta-b0:**
*Beta version 1.6.17-beta-b0 became release version 1.6.17. See above*

**1.6.16-beta-b0:**
* Added MattairTech Xeno support (64-pin D21, L21, and C21)
* Changed version numbering to match Arduino SAMD core to indicate which upstream changes have been merged in.
* Release version 1.6.7 then skips to 1.6.16. Beta version 1.6.8-beta-b2 skips to 1.6.16-beta-b0.
* Merged in changes from upstream SAMD CORE 1.6.16 2017.08.23:
* PWMs now can perform real 16-bit resolution if analogWriteResolution(16) is set. Thanks @Adminius
* USB CDC: fixed issue of available() getting stuck when receiving ZLP's
* Serial (UART) tx is now buffered.
* Updated Stream and Print class
* Native USB now supports USB Serial Number
* Fixed pgm_read_ptr compatibility macro. Thanks @nkrkv
* Documentation updates
Loading