Myriota Flex SDK 2.2.2
|
The Myriota FlexSense provides an off-the-shelf ready-to-go hardware solution for IoT sensing and monitoring applications with Myriota’s bi-directional, direct-to-orbit (D2O) satellite communications. The Myriota Flex SDK provides users with the necessary boilerplate to get started writing custom application firmware for the Myriota FlexSense. See the full docs here and find the source code here.
The Flex SDK currently supports building applications on Ubuntu 22.04. Other platforms can be supported through the use of DevContainer from within VSCode or via Github Codespaces.
Detailed setup instructions are outlined in the following sections:
Myriota supports programming of the FlexSense from any version of Linux, Windows and Mac that support the installation of the 'python3.10' and it's corresponding version of 'pip'.
Install these packages with apt:
You can ignore the gcc version as it is only installed as a requirement of meson native builds, but not actually used in the cross building process.
Myriota uses the GNU ARM Toolchain version 7.2.1 to compile user applications for the Myriota FlexSense. Myriota hosts its own copy of this toolchain and it can be installed in /opt/gcc-arm/
with the command:
PATH
variable to to include the toolchain. i.e. Add export PATH="${PATH}:/opt/gcc-arm-13_2_1/bin"
to your ~/.profile
or wherever you configure your environment variables for your given shell.Install the correct python environment with:
The libflex.a
and system_image.bin
binaries must downloaded and installed in the correct location, in order to perform a build. This can be achieved by running the following command:
To build applications using a DevContainer on Windows you should first install VSCode. When you open the Flex SDK folder in VSCode it should direct you through the steps that are required to setup your DevContainer. Once you have the DevContainer open in a terminal you will be able to perform the build instruction.
Codespaces is a cloud development environment provided by Github. Further information on how to use Codespaces is available in the Github documentation.
The following build instructions assume your current working directory is the project root. Configure the build with the following command (this only needs to be run once):
--cross-file ./flex-crossfile.ini
otherwise the build will fail.To assist development where a GPS signal is difficult to obtain, for example an indoor environment, the Flex SDK provides the skip_gnss
option.
By default the skip_gnss
option is disabled. To enable this option in the build, simply add -Dskip_gnss=true
in the setup step, before building:
skip_gnss
option is disabled (set to false), to ensure correct operation of the FlexSense device.Then to perform the build simply run the command:
build/
directory as user_application.bin
. You can also find compiled versions of examples under build/examples/
.examples
.To perform a pristine build, delete the build
folder before running the setup and build commands again.
Programming a FlexSense device requires the flashing of two separate images:
The instructions below outline how to program the System Image and User Application via the command line. Myriota also provides the DeviceAssist GUI tool for programming devices. The DeviceAssist tool is available from the Tools section of the Myriota Support Site.
The following programming instructions assume your current working directory is the project root. To program the System Image run:
To program the User Application:
Programming the FlexSense requires Python version 3.10 or greater.
The following instructions can be used to install Python on a Windows platform.
Install python:
Then navigate the Flex SDK projects root directory, and run the following:
The following programming instructions assume your current working directory is the project root. To program the System Image run:
To program the User Application run: