Commit 131e3df3 authored by Massimo Nazaria's avatar Massimo Nazaria
Browse files

Merge parent branch feature_bullseye

parents a34c716c 91cb5892
Pipeline #8264 passed with stage
in 15 minutes and 21 seconds
......@@ -70,3 +70,9 @@
[submodule "TASTE-Linux-Runtime"]
path = TASTE-Linux-Runtime
url = https://github.com/n7space/TASTE-Linux-Runtime.git
[submodule "TASTE-SAMV71-Runtime"]
path = TASTE-SAMV71-Runtime
url = https://github.com/n7space/TASTE-SAMV71-Runtime.git
[submodule "TASTE-SAMV71-Drivers"]
path = TASTE-SAMV71-Drivers
url = https://github.com/n7space/TASTE-SAMV71-Drivers.git
Subproject commit 7b1fabd43c13035d6a4ab79ba602bafa54e137c3
Subproject commit 9fb0656ecb9bf8e2041dc099c6abfb73e8c27a99
Subproject commit 48eb1042f8aa0d112e0e5245edcfaaec184d6197
Subproject commit 50b9dce3906a930708c0e334c4da106d731a85f9
Subproject commit 76383c0c061e216751ceb19fd60401597ce178eb
Subproject commit 66a1a8086d6b1a7c3dc089813d25f7ce3189c7db
Subproject commit a187f51674cca2aed076dfe0b26f29ee9b621a9b
Subproject commit 6258191cb26f47be08fbb509e5bffc0a0ffed484
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. "${DIR}"/common.sh
#
# TASTE-SAMV71-Runtime
#
echo "Installing TASTE-SAMV71-Runtime"
cd "$DIR"/../TASTE-SAMV71-Runtime || exit 1
git submodule init
git submodule update
mkdir -p "${PREFIX}"/include/TASTE-SAMV71-Runtime
# delete old files
rm -rf "${PREFIX}"/include/TASTE-SAMV71-Runtime/*
# install
cp -r FreeRTOS/FreeRTOS-Kernel "${PREFIX}"/include/TASTE-SAMV71-Runtime/
cp FreeRTOS/FreeRTOSConfig.h "${PREFIX}"/include/TASTE-SAMV71-Runtime/FreeRTOS-Kernel/include
cp -r SAMV71-BSP "${PREFIX}"/include/TASTE-SAMV71-Runtime/
cp -r src/BrokerLock "${PREFIX}"/include/TASTE-SAMV71-Runtime/
cp -r src/Init "${PREFIX}"/include/TASTE-SAMV71-Runtime/
cp -r src/Hal "${PREFIX}"/include/TASTE-SAMV71-Runtime/
echo "Installing TASTE-SAMV71-Drivers"
cd "$DIR"/../TASTE-SAMV71-Drivers || exit 1
git submodule init
git submodule update
mkdir -p "${PREFIX}"/include/TASTE-SAMV71-Drivers
# delete old files
rm -rf "${PREFIX}"/include/TASTE-SAMV71-Drivers/*
# install
cp -r src/samv71_serial_ccsds "${PREFIX}"/include/TASTE-SAMV71-Drivers
cp -r configurations "${PREFIX}"/include/TASTE-SAMV71-Drivers
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# shellcheck source=common.sh
. "${DIR}/common.sh"
DESCRIPTION="ZynQ RTEMS 5.1"
PREFIX="/opt"
INSTALL_PATH="$PREFIX/rtems-5.1-2020.04.29"
URL="https://download.tuxfamily.org/taste/rtems-5.1-2020.04.29.tar.bz2"
CheckTargetFolder "${DESCRIPTION}" "${INSTALL_PATH}"
DownloadAndExtract "${DESCRIPTION}" "${URL}" "${PREFIX}"
DESCRIPTION="Bambu 0.9.7"
PREFIX="/opt"
INSTALL_PATH="$PREFIX/bambu"
URL="https://download.tuxfamily.org/taste/bambu-0.9.7.tar.bz2"
CheckTargetFolder "${DESCRIPTION}" "${INSTALL_PATH}"
DownloadAndExtract "${DESCRIPTION}" "${URL}" "${PREFIX}"
Subproject commit 3285c564e5847145da63fc994edcfa9d1b1bdaff
Subproject commit 190b67a61f28157bf1933a30dd055a79656c2e53
Subproject commit 103af866dee5edb0d9df6acaaccaa4ee1ecd4164
Subproject commit 1d6d496ea0725a9e77d62f4f8aee955128da3a1d
......@@ -35,7 +35,7 @@ case "$VERSION" in
sudo apt-get install -y --force-yes wget gdebi evince autoconf automake curl exuberant-ctags gcc git gnat gtkwave kate lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libbonoboui2-0 libdbd-sqlite3-perl libdbi-perl libfile-copy-recursive-perl libglib2.0-0 libgnome2-0 libgnome2-perl libgnome2-vfs-perl libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libgtk2-gladexml-perl libgtk2-perl libgraphviz-dev libmono-system-data-linq4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime4.0-cil libmono-system-web4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libsqlite3-dev libtool libxml-libxml-perl libxml-libxml-simple-perl libxml-parser-perl libxml2-dev libxslt1-dev libzmq3-dev mono-mcs mono-reference-assemblies-2.0 mono-runtime nedit net-tools pgadmin3 postgresql postgresql-client postgresql-client-common postgresql-common python-antlr python-coverage python-gtk2-dev python-jinja2 python-lxml python-matplotlib python-pexpect expect python-pip python-psycopg2 python-pygraphviz python-pyside python3-pip qemu-system sqlite3 sudo tk8.5 tree vim-gtk wmctrl xmldiff xpdf xterm xterm zip openjdk-8-jre python3-lxml bash-completion strace libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-6-dev gprbuild libgnat-6:i386 python3-singledispatch python3-stringtemplate3 python3-numpy python3-pyside2.* python3-pygraphviz python3-sqlalchemy python3-ply python3-matplotlib python3-lxml python3-pexpect python3-psycopg2 python3-antlr python3-antlr3 python3-websocket python-setuptools make python3-setuptools g++ psmisc bsdmainutils gnat-gps python-is-python2 bzip2 unzip rsync libncurses5:i386 libgmp10:i386 || exit 1
;;
*Ubuntu*20.04* )
sudo apt-get install --no-install-recommends -y --force-yes evince gdebi wget autoconf automake curl exuberant-ctags gcc git gnat-10 gtkwave kate lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libdbd-sqlite3-perl libdbi-perl libfile-copy-recursive-perl libglib2.0-0 libgtk2-perl libgraphviz-dev libmono-system-data-linq4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime4.0-cil libmono-system-web4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libsqlite3-dev libtool libxml-libxml-perl libxml-libxml-simple-perl libxml-parser-perl libxml2-dev libxslt1-dev libzmq3-dev mono-mcs mono-runtime nedit net-tools pgadmin3 postgresql postgresql-client postgresql-client-common postgresql-common python-coverage python-lxml python-pexpect expect python3-pip qemu-system sqlite3 sudo tk8.6 tree vim-gtk wmctrl xmldiff xterm xterm zip openjdk-11-jre python3-lxml bash-completion strace libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-8-dev python-mako gprbuild python3-singledispatch python3-stringtemplate3 python3-numpy python3-pyside2.* python3-pygraphviz python3-sqlalchemy python3-ply python3-matplotlib python3-lxml python3-pexpect python3-psycopg2 python3-antlr python3-antlr3 python3-websocket python-setuptools make python3-setuptools g++ psmisc bsdmainutils gnat-gps python-is-python2 bzip2 unzip rsync libncurses5:i386 libgmp10:i386 qt5-default xdg-utils python3-mako || exit 1
sudo apt-get install --no-install-recommends -y --force-yes evince gdebi wget autoconf automake curl universal-ctags gcc git gnat-10 gtkwave kate lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libdbd-sqlite3-perl libdbi-perl libfile-copy-recursive-perl libglib2.0-0 libgtk2-perl libgraphviz-dev libmono-system-data-linq4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime4.0-cil libmono-system-web4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libsqlite3-dev libtool libxml-libxml-perl libxml-libxml-simple-perl libxml-parser-perl libxml2-dev libxslt1-dev libzmq3-dev mono-mcs mono-runtime nedit net-tools python-coverage python-lxml python-pexpect expect python3-pip qemu-system sqlite3 sudo tk8.6 tree vim-gtk wmctrl xmldiff xterm xterm zip openjdk-11-jre python3-lxml bash-completion strace libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-8-dev python-mako gprbuild python3-singledispatch python3-stringtemplate3 python3-numpy python3-pyside2.* python3-pygraphviz python3-sqlalchemy python3-ply python3-matplotlib python3-lxml python3-pexpect python3-psycopg2 python3-antlr python3-antlr3 python3-websocket python-setuptools make python3-setuptools g++ psmisc bsdmainutils gnat-gps python-is-python2 bzip2 unzip rsync libncurses5:i386 libgmp10:i386 qt5-default xdg-utils python3-mako python3-gi sqlitebrowser || exit 1
# pip2 is not available in ubuntu20.04 repos
pip2 >/dev/null || (curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /var/tmp/get-pip.py && sudo python2 /var/tmp/get-pip.py) || exit 1
# antlr2 for python2 (package python-antlr) is not available anymore either
......@@ -49,7 +49,8 @@ case "$VERSION" in
;;
*Debian*bullseye* | Debian*bullseye*Dockerized )
# removed after buster: pgadmin3 gnat-gps, python3-antlr3, python-pip
sudo apt-get install --no-install-recommends -y --force-yes evince gdebi wget autoconf automake curl exuberant-ctags gcc git gnat gtkwave lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libglib2.0-0 libgraphviz-dev libsqlite3-dev libtool libxml2-dev libxslt1-dev net-tools postgresql postgresql-client postgresql-client-common postgresql-common expect python3-pip sqlite3 sudo tree vim-gtk wmctrl xmldiff xterm zip openjdk-17-jre python3-lxml bash-completion strace libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-10-dev gprbuild python3-singledispatch python3-stringtemplate3 python3-numpy python3-pygraphviz python3-ply python3-matplotlib python3-lxml python3-sqlalchemy python3-pexpect python3-psycopg2 python3-antlr python3-websocket make python3-setuptools g++ psmisc bzip2 bsdmainutils unzip rsync libncurses5:i386 libgmp10:i386 xdg-utils qt5-qmake qtbase5-dev python3-mako || exit 1
sudo apt-get install --no-install-recommends -y --force-yes evince gdebi wget autoconf automake curl universal-ctags gcc git gnat gtkwave lcov libacl1 libacl1-dev libarchive-dev libattr1 libattr1-dev libglib2.0-0 libgraphviz-dev libsqlite3-dev libtool libxml2-dev libxslt1-dev net-tools expect python3-pip sqlite3 sudo tree vim-gtk wmctrl xmldiff xterm zip openjdk-17-jre python3-lxml bash-completion strace libusb-1.0-0-dev cmake dfu-util gnuplot libstdc++-10-dev gprbuild python3-singledispatch python3-stringtemplate3 python3-numpy python3-pygraphviz python3-ply python3-matplotlib python3-lxml python3-sqlalchemy python3-pexpect python3-psycopg2 python3-antlr python3-websocket make python3-setuptools g++ psmisc bzip2 bsdmainutils unzip rsync libncurses5:i386 libgmp10:i386 xdg-utils qt5-qmake qtbase5-dev python3-mako python3-gi sqlitebrowser || exit 1
# If you need postgresql install the following : postgresql postgresql-client postgresql-client-common postgresql-common
python3 -m pip install --user wheel || exit 1
# bullseye version of pyside2 is buggy for qml support, we need the pip version
python3 -m pip install --user --upgrade pyside2 || exit 1
......
......@@ -6,8 +6,8 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p "${PREFIX}/share/asn1scc/" || exit 1
cd "${PREFIX}/share/" || exit 1
VER=$(~/tool-inst/share/asn1scc/asn1scc -v | head -1 | awk '{print $NF}')
if [ "${VER}" != "4.2.4.8f" ] ; then
wget --no-check-certificate -q -O - https://github.com/ttsiodras/asn1scc/releases/download/4.2.4.8f/asn1scc-bin-4.2.4.8f.tar.bz2 \
if [ "${VER}" != "4.2.5.0f" ] ; then
wget --no-check-certificate -q -O - https://github.com/ttsiodras/asn1scc/releases/download/4.2.5.0f/asn1scc-bin-4.2.5.0f.tar.bz2 \
| tar jxvf -
fi
# Delete the AST cache folder in case the new version of the compiler generates different XML/Python output
......
#!/bin/bash
if [ -z $INSTALL_POSTGRESQL ]
then
echo [-] TASTE uses sqlite by default for SQL databases
echo [-] If you want to use postgresql instead, run this script again like this:
echo INSTALL_POSTGRESQL=1 install/65_postgres.sh
exit 0
fi
echo "[-] Checking for a local PostgreSQL installation..."
CONF_FILE=$(/bin/ls /etc/postgresql/*/main/pg_hba.conf 2>/dev/null | head -1)
if [ -z "${CONF_FILE}" ] ; then
......
#!/bin/bash
# Version neeed by the current TASTE release.
# Update this number when a new version is uploaded on tuxfamily:
EXPECTED_VERSION="0.12.7038"
EXPECTED_VERSION="0.12.7350"
FILENAME=spacecreator-x86_64-$EXPECTED_VERSION.AppImage
# Check the version of the current insallation, if any
......
Subproject commit ccde0605855249c2cc91a4f8868089208ae7f120
Subproject commit ac3b4e0ad0a4d247d66c0ee11276f0a629992a6f
......@@ -48,6 +48,9 @@ end serial.generic;
bus implementation serial.minimal
end serial.minimal;
bus implementation serial.ccsds
end serial.ccsds;
bus bluetooth
end bluetooth;
......@@ -86,6 +89,9 @@ end generic;
virtual bus implementation generic.linux
end generic.linux;
virtual bus implementation generic.samv71
end generic.samv71;
end ocarina_buses;
package ocarina_drivers
public
......@@ -163,12 +169,28 @@ public
data configuration_type_socket_ip
properties
Type_Source_Name => "Socket-IP-Conf-T";
Deployment::ASN1_Module_Name => "LINUX-SOCKET-IP-DRIVER";
Source_Language => (ASN1);
Source_Text => ("/home/taste/tool-inst/include/TASTE-Linux-Drivers/configurations/linux-socket-ip-driver.asn", "drivers/configuration/linux_socket_ip.h");
Type_Source_Name => "Socket-IP-Conf-T";
Deployment::ASN1_Module_Name => "LINUX-SOCKET-IP-DRIVER";
Source_Language => (ASN1);
Source_Text => ("/home/taste/tool-inst/include/TASTE-Linux-Drivers/configurations/linux-socket-ip-driver.asn", "drivers/configuration/linux_socket_ip.h");
end configuration_type_socket_ip;
data configuration_type_serial_ccsds_linux
properties
Type_Source_Name => "Serial-CCSDS-Linux-Conf-T";
Deployment::ASN1_Module_Name => "LINUX-SERIAL-CCSDS-DRIVER";
Source_Language => (ASN1);
Source_Text => ("/home/taste/tool-inst/include/TASTE-Linux-Drivers/configurations/linux-serial-ccsds-driver.asn", "drivers/configuration/linux_serial_ccsds.h");
end configuration_type_serial_ccsds_linux;
data configuration_type_serial_ccsds_samv71
properties
Type_Source_Name => "Serial-CCSDS-SamV71-Conf-T";
Deployment::ASN1_Module_Name => "SAMV71-SERIAL-CCSDS-DRIVER";
Source_Language => (ASN1);
Source_Text => ("/home/taste/tool-inst/include/TASTE-SAMV71-Drivers/configurations/samv71-serial-ccsds-driver.asn", "drivers/configuration/samv71_serial_ccsds.h");
end configuration_type_serial_ccsds_samv71;
--------------
-- Keyboard --
--------------
......@@ -445,20 +467,44 @@ public
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end linux_serial.minimal;
------------------
-- serial ccsds --
------------------
device serial_ccsds
features
link : requires bus access ocarina_buses::serial.ccsds;
end serial_ccsds;
device implementation serial_ccsds.linux
properties
Deployment::Driver_Name => "linux_serial_ccsds";
Device_Driver => classifier (ocarina_drivers_serial_ccsds::serial_ccsds_linux.linux);
Initialize_Entrypoint => classifier (ocarina_drivers_serial_ccsds::linux_serial_ccsds_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::generic.linux));
end serial_ccsds.linux;
device implementation serial_ccsds.samv71
properties
Deployment::Driver_Name => "samv71_serial_ccsds";
Device_Driver => classifier (ocarina_drivers_serial_ccsds::serial_ccsds_samv71.samv71);
Initialize_Entrypoint => classifier (ocarina_drivers_serial_ccsds::samv71_serial_ccsds_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::generic.samv71));
end serial_ccsds.samv71;
---------------------
-- linux ip socket --
---------------------
device ip_socket
features
link : requires bus access ocarina_buses::ip.generic;
link : requires bus access ocarina_buses::ip.generic;
end ip_socket;
device implementation ip_socket.linux
properties
Deployment::Driver_Name => "linux_ip_socket";
Device_Driver => classifier (ocarina_drivers_ip_socket::ip_socket.linux);
Initialize_Entrypoint => classifier (ocarina_drivers_ip_socket::linux_ip_socket_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::generic.linux));
Deployment::Driver_Name => "linux_ip_socket";
Device_Driver => classifier (ocarina_drivers_ip_socket::ip_socket.linux);
Initialize_Entrypoint => classifier (ocarina_drivers_ip_socket::linux_ip_socket_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::generic.linux));
end ip_socket.linux;
---------------------------
......@@ -2414,7 +2460,14 @@ properties
Cheddar_Properties::Preemptive_Scheduler => true;
end stm32f429_discovery.gnat2020;
processor samv71 extends arm
end samv71;
processor implementation samv71.freertos
properties
Deployment::Execution_Platform => SAMV71_FREERTOS;
Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
end samv71.freertos;
end ocarina_processors_arm;
property set Processor_Properties is
......@@ -2887,24 +2940,24 @@ public
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxIpSocketPoll";
Source_Text => ("LinuxIpSocket.cpp",
"LinuxIpSocket.h");
Source_Text => ("linux_ip_socket.cpp",
"linux_ip_socket.h");
end linux_ip_socket_poll;
subprogram linux_ip_socket_send
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxIpSocketSend";
Source_Text => ("LinuxIpSocket.cpp",
"LinuxIpSocket.h");
Source_Text => ("linux_ip_socket.cpp",
"linux_ip_socket.h");
end linux_ip_socket_send;
subprogram linux_ip_socket_init
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxIpSocketInit";
Source_Text => ("LinuxIpSocket.cpp",
"LinuxIpSocket.h");
Source_Text => ("linux_ip_socket.cpp",
"linux_ip_socket.h");
end linux_ip_socket_init;
thread linux_ip_socket_poller
......@@ -2916,8 +2969,8 @@ public
pspg : subprogram linux_ip_socket_poll;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
Period => 1000ms;
Dispatch_Protocol => Periodic;
end linux_ip_socket_poller.impl;
abstract ip_socket
......@@ -2934,3 +2987,119 @@ public
end ip_socket.linux;
end ocarina_drivers_ip_socket;
package ocarina_drivers_serial_ccsds
public
with Deployment;
with ocarina_drivers;
------------------------
-- serial ccsds linux --
------------------------
subprogram linux_serial_ccsds_poll
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxSerialCcsdsPoll";
Source_Text => ("linux_serial_ccsds.cpp",
"linux_serial_ccsds.h");
end linux_serial_ccsds_poll;
subprogram linux_serial_ccsds_send
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxSerialCcsdsSend";
Source_Text => ("linux_serial_ccsds.cpp",
"linux_serial_ccsds.h");
end linux_serial_ccsds_send;
subprogram linux_serial_ccsds_init
properties
Source_Language => (Cpp);
Source_Name => "taste::LinuxSerialCcsdsInit";
Source_Text => ("linux_serial_ccsds.cpp",
"linux_serial_ccsds.h");
end linux_serial_ccsds_init;
thread linux_serial_ccsds_poller
end linux_serial_ccsds_poller;
thread implementation linux_serial_ccsds_poller.impl
calls
mycall : {
pspg : subprogram linux_serial_ccsds_poll;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end linux_serial_ccsds_poller.impl;
abstract serial_ccsds_linux
properties
Deployment::Version => "1.0";
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_serial_ccsds_linux);
end serial_ccsds_linux;
abstract implementation serial_ccsds_linux.linux
subcomponents
receiver : thread linux_serial_ccsds_poller.impl;
sender : subprogram linux_serial_ccsds_send;
end serial_ccsds_linux.linux;
-------------------------
-- serial ccsds samv71 --
-------------------------
subprogram samv71_serial_ccsds_poll
properties
Source_Language => (C);
Source_Name => "SamV71SerialCcsdsPoll";
Source_Text => ("samv71_serial_ccsds.c",
"samv71_serial_ccsds.h");
end samv71_serial_ccsds_poll;
subprogram samv71_serial_ccsds_send
properties
Source_Language => (C);
Source_Name => "SamV71SerialCcsdsSend";
Source_Text => ("samv71_serial_ccsds.c",
"samv71_serial_ccsds.h");
end samv71_serial_ccsds_send;
subprogram samv71_serial_ccsds_init
properties
Source_Language => (C);
Source_Name => "SamV71SerialCcsdsInit";
Source_Text => ("samv71_serial_ccsds.c",
"samv71_serial_ccsds.h");
end samv71_serial_ccsds_init;
thread samv71_serial_ccsds_poller
end samv71_serial_ccsds_poller;
thread implementation samv71_serial_ccsds_poller.impl
calls
mycall : {
pspg : subprogram samv71_serial_ccsds_poll;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end samv71_serial_ccsds_poller.impl;
abstract serial_ccsds_samv71
properties
Deployment::Version => "1.0";
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_serial_ccsds_samv71);
end serial_ccsds_samv71;
abstract implementation serial_ccsds_samv71.samv71
subcomponents
receiver : thread samv71_serial_ccsds_poller.impl;
sender : subprogram samv71_serial_ccsds_send;
end serial_ccsds_samv71.samv71;
end ocarina_drivers_serial_ccsds;
......@@ -267,5 +267,10 @@ Interface_Priority : aadlinteger applies to (subprogram);
Interface_Cyclic_Offset : aadlinteger applies to (subprogram);
Interface_Stack_Size : aadlinteger applies to (subprogram);
-- Cflags/Ldflags added by user on partitions (process) of the deployment view
-- also applicable to nodes (system)
cflags : aadlstring applies to (system, process);
ldflags : aadlstring applies to (system, process);
end Taste;
#!/bin/bash -e
echo "Checking if target $1 is supported"
check-deployment-target-gui.py $1
check_deployment_target_gui.py $1
exit 0
......@@ -2,10 +2,6 @@
import sys
import os
from PySide2.QtGui import *
from PySide2.QtCore import *
from PySide2.QtWidgets import *
from PySide2.QtUiTools import *
def install_gr740_rtems410_gaisler_posix():
""" $ $HOME/tool-src/add-ons/install-gaisler-4.10.sh """
......@@ -33,6 +29,10 @@ def install_rpi_posix():
"""$ sudo apt install gcc-arm-linux-gnueabihf"""
os.system("xterm -e sudo apt install -y gcc-arm-linux-gnueabihf gnat-8-arm-linux-gnueabihf g++-arm-linux-gnueabihf")
def install_zynq7000_rtems():
""" $ /home/taste/tool-src/add-ons/install-zynqrtems-5.1.sh """
os.system("xterm -e /home/taste/tool-src/add-ons/install-zynqrtems-5.1.sh")
def check_rpi_posix():
if not os.path.isfile("/usr/bin/arm-linux-gnueabihf-gcc"):
raise NotImplementedError(install_rpi_posix)
......@@ -59,6 +59,11 @@ def check_gnat2020_arm():
if not os.path.isdir("/opt/GNAT/gnat-arm-2020/bin/"):
raise NotImplementedError(install_gnat2020_arm)
def check_zynq7000_rtems():
if not os.path.isdir("/opt/rtems-5.1-2020.04.29/") or \
not os.path.isdir("/opt/bambu/"):
raise NotImplementedError(install_zynq7000_rtems)
# When editing, replace dot (.) with underscore (_)
# the TASTE GUI mixes them up if there is more than one underscore
PLATFORMS = { "crazyflie_v2_gnat" : lambda: True,
......@@ -85,48 +90,44 @@ PLATFORMS = { "crazyflie_v2_gnat" : lambda: True,
"x86_linux" : lambda: True,
"x86_win32" : lambda: True,
"msp430fr5969_freertos" : check_msp430_freertos,
"x86_generic_linux" : lambda: True
"x86_generic_linux" : lambda: True,
"zynqzc706_rtems_posix" : check_zynq7000_rtems,
}
def query_user(platform):
msg_box = QMessageBox()
msg_box.setWindowTitle("This plaform is not installed!")
ok = msg_box.addButton("Install now", QMessageBox.AcceptRole)
later = msg_box.addButton("Install later", QMessageBox.RejectRole)
msg_box.setEscapeButton(later)
msg_box.setDefaultButton(ok)
msg_box.setIcon(QMessageBox.Warning)
msg_box.setText("Do you want to install target\n{} ?".format(platform))
msg_box.exec_()
return msg_box.clickedButton() == ok
def cli_query_user(platform):
print(f"[X] This platform is not installed: {platform}")
if not sys.stdout.isatty():
# When not running from a terminal, just exit with error
return False
resp = input(f"[?] Do you want to install target {platform} ? [Y/n]")
if not resp or resp.lower() == 'y':
return True
else:
return False
def main():
app = QApplication(sys.argv)
# check if the target in supported
try:
platform = sys.argv[1]
PLATFORMS[platform.replace('.', '_')]()
except KeyError:
warn_box = QMessageBox()
warn_box.setIcon(QMessageBox.Information)
warn_box.setText("Unknown platform: {}".format(platform))
warn_box.exec_()
return 1
except IndexError:
print("You must specify the target in the command line")
except (KeyError, IndexError):
print(f"[X] Unknown or unspecified platform {platform or ''}")
print("[-] This is the list of supported platforms:")
for each in PLATFORMS.keys():
print(f" {each}")
sys.exit(1)
except NotImplementedError as exc:
install_it, = exc.args
if query_user(platform):
if cli_query_user(platform):
install_it()
else:
warn_box = QMessageBox()
warn_box.setIcon(QMessageBox.Information)
warn_box.setText("You can install the platform later by typing:\n"
print("[-] You can install the platform by typing:\n "
+ str(install_it.__doc__))
warn_box.exec_()
sys.exit(1)
else:
print("Platform {} is installed".format(platform))
print(f"[-] Platform {platform} is installed")
sys.exit(0)
if __name__ == '__main__':
......
#!/usr/bin/env python3
import sys
import os
from PySide2.QtGui import *
from PySide2.QtCore import *
from PySide2.QtWidgets import *
from PySide2.QtUiTools import *
from check_deployment_target_cli import *
def query_user(platform):
msg_box = QMessageBox()
msg_box.setWindowTitle("This plaform is not installed!")
ok = msg_box.addButton("Install now", QMessageBox.AcceptRole)
later = msg_box.addButton("Install later", QMessageBox.RejectRole)
msg_box.setEscapeButton(later)
msg_box.setDefaultButton(ok)
msg_box.setIcon(QMessageBox.Warning)
msg_box.setText("Do you want to install target\n{} ?".format(platform))
msg_box.exec_()
return msg_box.clickedButton() == ok
def main():
app = QApplication(sys.argv)
# check if the target in supported
try:
platform = sys.argv[1]
PLATFORMS[platform.replace('.', '_')]()
except KeyError:
warn_box = QMessageBox()
warn_box.setIcon(QMessageBox.Information)
warn_box.setText("Unknown platform: {}".format(platform))
warn_box.exec_()
return 1