VivicoreSerial library
What's this

Library to talk with VIVIWARE Cell Core.

VivicoreSerial library works on ATmega328PB which has 2 UART ports. One is for talking with VIVIWARE Cell Core, another is for flashing and debugging.

The official sketches of VIVIWARE Cell Branch are included as examples code.

Requisites

The below table shows the corresponding Arduino IDE version VivicoreSerial library requires. Refer to How to setup to install Arduino IDE and configure the board and library manager.

Arduino IDE version Arduino AVR Boards VivicoreSerial version managed on Library Manager LIBRARY_VER_BUILD_NO defined on VivicoreSerialVersion.h Description
2.0.0 or later 1.8.2 (Required) 1.0.0 or later 0x0005 or later
  • 64bit compatibility
  • Arduino AVR Boards 1.8.2
    • avr-gcc 7.3.0-atmel3.6.1-arduino5
  • Arduino AVR Boards 1.8.3, 1.8.4
    • avr-gcc 7.3.0-atmel3.6.1-arduino7
    • Wire library with timeout function
1.8.12 1.8.2 (Included in IDE) 1.0.0 or later 0x0005 or later
  • 64bit compatibility
  • avr-gcc 7.3.0-atmel3.6.1-arduino5
1.8.7 1.6.23 (Included in IDE) - 0x0004 or before
  • 32bit compatibility
  • avr-gcc 5.4.0

Dependencies and lisence information

VivicoreSerial library depends on Arduino core and libraries, and ATmegaBOOT.

And a part of the official sketches of VIVIWARE Cell Branch included as examples code depends on the following version's library modules. The library modules are neccessary to be installed on library manager or with archived zip file on Github if building examples code.

Module Lisence and the link to the original
Adafruit_APDS9960 v1.1.4 BSD-3-Clause
vl53l0x-arduino v1.0.2 MIT (pololu), BSD-3-Clause (STMicroelectronics)
Arduino-LSM6DS3-LSM6DS3TRC v1.0.0 BSD-3-Clause
Arduino-misakiUTF16 v1.02a Free software lisence
本フォントライブラリは、「美咲フォント」と同様にフリー(自由な)ソフトウエアです。
あらゆる改変の有無に関わらず、また商業的な利用であっても、自由にご利用、複製、再配布することができます。
ただし、全て無保証とさせていただきます。
Misaki font (included in Arduino-misakiUTF16) Free software lisence
These fonts are free software.
Unlimited permission is granted to use, copy, and distribute them, with or without modification, either commercially or noncommercially.
THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
Arduino core and libraries (included in Arduino IDE) LGPLv2.1
ATmegaBOOT (included in board package setup on How to setup) GPLv2

NOTE: The following libraries cannot be found on Library Manager, and need to be installed by zip archive got from the above Github link if you build and upload the examples code depending them.

  • Arduino-misakiUTF16
  • Arduino-LSM6DS3-LSM6DS3TRC

How to setup

This instruction describes how to setup Arduino IDE to build VIVIWARE Cell Custom sketch and upload it to the board.

Install Arduino IDE

  1. Download and install the required Arduino IDE version written on requisites which is available on Arduino official site top or Previous IDE Releases.
    • For Windows, use Windows Installer exe file but not zip file

Configure Arduino IDE

  1. Open Preferences of Arduino IDE.
  2. Add URL https://raw.githubusercontent.com/vivitainc/custom_cell_boards/master/package_viviware_index.json into Additional Boards Manager URLs text box, and press OK button.

Setup Boards Manager

  1. Open Arduino IDE and the menu Tools > Board: > Boards Manager....
  2. Enter arduino into text box.
    • Find Arduino AVR Boards.
    • Select the required version written on requisites, and press Install button. Do not use another version to avoid unexpected built result mismatch.
    • After a while, check the status INSTALLED shown on right side of the version.
  1. Enter viviware into text box.
    • Find VIVIWARE Cell Custom Boards.
    • Select the latest version (e.g. 6.3.0), and press Install button.
    • After a while, check the status INSTALLED shown on right side of the version.
  2. Close Boards Manager by pressing Close button.

Setup Library Manager

  1. Open Arduino IDE and the menu Sketch > Include Library > Manage Libraries....
  2. Select Type of All or Contributed, select Topic of All or Communication, and enter VivicoreSerial into text box, and find VivicoreSerial library.
  3. Select the latest version of VivicoreSerial (e.g. 3.2.0+07010014), and press Install button.
  4. After a while, check the status INSTALLED shown on right side of the version.
  5. Close Library Manager by pressing Close button.

Build and upload sketch

  1. Open new sketch on Arduino IDE.
  2. Copy the template code generated by VIVIWARE Developer and paste it to the new sketch.
  3. Select board VIVIWARE Cell in the menu Tools > Board:.
  4. Select version Custom in the menu Tools > Version:.
  5. Select port connected to VIVIWARE Cell Custom board in the menu Tools > Port:.
  6. Press Upload button.

Only for VivicoreSerial library developer

Refer to README for library developer.

VivicoreSerial version history on Library Manager

  • 3.2.0 : Add features or fix issues as the following
    • Support VIVIWARE Cell Custom v4 board with custom_cell_board 6.3.0 or later
    • Support VIVIWARE Cell Custom v3 board as DeprecatedCustom
    • Drop supporting VIVIWARE Cell Custom v2, v1 board
  • 3.1.0 : Add features or fix issues as the following
  • 3.0.0 : Add features or fix issues as the following
    • Remove setOverrideIni and use write before begin to override DC_INI
  • 2.0.0 : Add features or fix issues as the following
    • Update UART protocol v7 to change the baudrate to 50k from 100k to avoid dropping data
    • Improve interface of begin, available, read, write, and flush
    • Update examples ino to support the latest library interface
  • 1.1.0 : Add features or fix issues as the following
    • Send stored TX data set in discovery sequence
    • Make initial value to be able to override and send as DC_INI
    • Update examples ino to support the latest library interface
  • 1.0.2 : Fix github URL for Library Manager
  • 1.0.1 : Replace public README
  • 1.0.0 : First version for Library Manager