Skip to content

devman_player

pierre drezet edited this page Aug 20, 2025 · 1 revision

This component provides contact with a devman server to enable the exchange of playlists and player status information. The component detects new playlists made available on the devman server, downloads them and notifies the application that it is available and where it is stored. The function block is not playlist format aware and does not parse the playlists to identify tracks that need to be downloaded. This Function block is neither responsible for downloading content references in the playlist. This is done by the playlist manager in conjunction with a downloader function block.

Devman Server Commands

The Devman server can issue the following commands (in XML format) to the application:

  • mediaSrcURL - updates the base URL where media is downloaded from. (Persistently stored to configs/devman-player/MediaSrcUrl.cfg)

  • playlist - is the name of the playlist to play. This can be a fully qualified URL or just a path/filename that is appended to mediaSrcURL if no domain is provided. (persistently stored to configs/devman-player/PlayListURL.cfg)

  • NewDevmanPlayerURL - Add the priority devman server URL. This will add a new devman server to the top of the list. The previous server name will remain in the list. new

  • RemovePlaylist - Identifies a list of media paths to delete. The format of the path is currently devman server-specific.

  • RemoveOldContent - Signal that "old" content can be removed. The definition of old is defined by the application.

  • RemoveAllContent - Signal that all content should be removed.

  • Override_Content_Directory - Signal that a specific track should be played, which should override any currently playling track. (e.g. announcements). A URL (or local path) will be provided by Devman.

  • Set_Playmode - playmodes are application specific enumerated modes. e.g. 0 - mute, 1 - play constant, 2 - play from playlist. (persistently stored to configs/devman-player/PlayMode.cfg)

  • SetPlayerParameters->nVolume - updates the volume that the device should play media. It is application specific if this volume is managed by specific players or the overall system volume. (persistently stored to configs/devman-player/Volume.cfg

  • SetPlayerParameters->channels - updates the number of channels that should be used (e.g. stereo or mono mode). It is application/player specific how this would be handled. (persistently stored to configs/devman-player/Channels.cfg

  • state Controls the overall audio state of the device e.g. audio muted or not muted. It is application specific how to implement mute/unmute functionality. configs/devman-player/Mute.cfg

name type default min. max. description
Devman Server URL String None "" "" Devman server URL to poll.
Playlist Path String None "" "" Local playlist path to store playlists in.
Devman Ping Period Integer 60 1 3600 Devman ping period in seconds.
Use Devman Core URL Boolean None 0 1 Use the URL specified by core Devman URL. The standard Devman path to the media URI is added to this if true.
Start on Init Boolean None 0 1 Start checking on application init.
In Ev.
Activate Starts the Devman client polling the server to provide return path data and to check for updates.
De-activate Stops the device polling the Devman Server to send status information and/or receiving new messages.
Set url This will change the Devman sever URL that is polled. This change only persists while the application is running. It is not persisted after restart. This would need to be done directly by editing the devman/config/server file.
Config Set playlist path and devman polling rate.
track info Set the media meta-data to report back to Devman.
Data In
URL URL in standard URI format, including specific end-nodes.
plylst path Deprecated: Playlist path is not currently supported in Devman. Applications can choose their own local paths for playlists.
update rate Time in seconds between Devman server polls.
playlist Confirm the currently active playlist to Devman.
player mode Current track/video index in the playlist that is reported in the Devman Portal.
curr. media Currently playing track/video name that is reported in the Devman Portal.
start time The time at which the current media started to play that is reported in the Devman Portal.
media duration Report the duration the current track should play for.
player state Media player status to report back to Devman. 0 - mute, 1-playing, 2 - paused, 3 -error.
Data Out
URL Output of the Devman URL, which can be set from the Devman server as well as the application.
plylst URL New playlist URL published from Devman.
X-playlist Playlist filename extracted from the full playlist URL. This does not include any preceding path directories.
media/URL New media base URL published from Devman.
media/path Local Path to media base. This is extracted from the above full media URL by removing the URI domain.
files List of content files from Devman to remove. The format of the list is not defined. Reference to the local root path of playlist of media files maybe indicated in a proprietary way depending on the media server implementation.
track url Optional URL from Devman of the override media clip to play.
volume Volume in % (0-100) has been set by Devman Server.
channels Number of audio channels to play (typically 2 for stereo).
on/off Mute state (true for mute).
state Devman Server state (Note: currently this is always 0 irrespective of server request errors and status).
Raw XML String containing the RAW XML from the Devman Server.
Out Ev.
Activate ------------ Signals Devman is active.
------------ De-activation complete.
new playlist A new play list is published from Devman.
rem. list Signal from Devman to remove specific list of content files.
rem. unused Signal from Devman to remove "old" files, as defined by the application.
rem. all Signal from Devman to remove all media files. (i.e. typically everything under ./media/*).
Override Signal from Devman to play an override media clip.
media parms New media player parameters are available from the Devman Server.
set mute Mute state has been changed from Devman.
status Devman Server status has changed.
State Machine TBC.
Toolbox GUI/Level1. Version v2.1.
Licence Type MPL2.0 Component Supplier inx ltd.
Minumum DCC A0000 Profiles

Core Components

Events & Triggers

State Management

  • STATE - Represents a State in Lucid
  • state_condition - Event driven state condition --> transition and actions
  • state_debug - To debug state machines this function block is required.
  • state_manager - Each state machine is defined by a State Manager

Array & Data Structures

Buffers & Queues

Primitive Data Constants

Data Converters

Boolean Logic



Mathematics

Alebraic Evaluation

Mathematical Operators

Inequalities

Trigonometry

Other Functions

Data Selection

  • indexed_mux_int - Indexed Mux Int
  • indexed_mux_str - Indexed Mux String
  • map_int - Map Int
  • mux_1b - mux_1b
  • mux_1i - mux_1i
  • mux_1r - mux_1r
  • mux_1s - mux_1s
  • mux_2b - MultiplexTwo Input Bool
  • mux_2i - MultiplexTwo Input Int
  • mux_2r - MultiplexTwo Input Real
  • mux_2s - MultiplexTwo Input String
  • mux_3b - MultiplexThree Input Bool
  • mux_3i - MultiplexThree Input Int
  • mux_3r - MultiplexThree Input Real
  • mux_3s - MultiplexThree Input String
  • mux_4b - MultiplexFour Input Bool
  • mux_4i - MultiplexFour Input Int
  • mux_4r - MultiplexFour Input Real
  • mux_4s - MultiplexFour Input String
  • mux_8b - 8-Input Indexed Boolean Multiplexer Function Block
  • mux_8i - 8-Input Indexed Integer Multiplexer Function Block
  • mux_8r - 8-Input Real Number Multiplexer Function Block
  • mux_8s - Number Multiplexer Function Block
  • num_mux - Numeric Multiplexer Function Block

Data Processing & Parsers

Database & Storage

Demultiplexers

String Functions

File Operations



Basic IO Components

GPIO & Hardware I/O



Graphics and UI Components

GUI & User Interface

User Input

  • keypress - Reads key presses & control keys

Unity & Web Integration

  • inx-unity - Provides media and animation widget interface
  • unity2 - Unity 3D
  • webkit - JavaScript/WebKit Interface (Obsolete)

Language & Localization



Media Components

Audio & Media

Digital TV & Media Control



Communications Components

TCPIP Network & Communication

Wireless & LPWAN Networks

Fieldbus Comms



Digital Signal Processing

  • ADC Polled Analogue to Digital converter.
  • ADC_continuous Advanced ADC supporting clocked ISR modes and advanced signal averaging.
  • FFT8 Fast Fourier Transform of 8 bit binary input data
  • FIR8 Finite Impulse Response filter for 8 bit binary data.
  • IIR8 Infinite Impulse Response filter for 8 bit binary data.
  • [calibrate](ADC calibrate) - Calibrates the ADCs


Control Systems Components

PID Controllers



Machine Learning & Machine Vision

  • mv_camera - Provides access to camera input data image streams
  • mv_idsplay - Renders camera image streams.
  • mv_resize - Resizes an image using given interpolation method
  • mv_crop - Crops and image width and height at a give offset
  • mv_apriltag_reader Plain Old Prgramming AprilTag Reader
  • ml_tflite_inference Machine learning model inference.
  • ml_osvm Online iterative machine learning (training& inference).


Platform Components

System Utilities

  • reboot - Reboot the device
  • rtc - RealTimeClock - provdes date/time from RTC device or OS.
  • rtinfo - RuntimeInfo (e.g. MAC/IP address, memory,... )
  • scheduler - Weekly Scheduler
  • system_exec - Executes linux shell commands
  • rng - Random Number Generator (may use hardware RNG)

Time Components

Application Management

Over the Air Update (OTA)

  • ota - OTA Function Block for updating firmware
  • ota_data_parser - Assembles OTA data files from Devman.


Non-functional Components

Some function blocks that can be used Lucid app are for visual/organisation purposes only and do not translate into any executable ert-components.

Sub System Input/Output Ports

-Note this file is autogenerated from ert-config help files and may not currently be complete or properly categorised!

Clone this wiki locally