Network Address


Yes, to do so use SPRINTF$ with the %A format string:

ip$=SPRINTF$("%A",1)
CODE

The ip$ will contain e.g.:

192.168.2.100

To obtain the IP address with leading zeroes use:

ip$=SPRINTF$("%1A",1)
CODE

The ip$ will then contain e.g.:


192.168.002.100

See more in the chapter Formatted String Conversions - SPRINTF of the BCL Programmers Manual.

RTP decoding


  • using LINK

RTP streaming


  • MP3 bit reservoir

Audio handling


  • reading/writing must happen in "real time"

Tips for writing efficient programs


  • use ON var GOTO
  • do not use large if then or nested if then

UDP reception


  • lastlen trick
  • must proceed all UDP packets in the handler


Multicast


BCL supports up to 16 IP multicast groups at a time. The subscription, periodic membership reporting as well as group leaving is performed automatically by the firmware and does not have to be handled by the BCL application. IGMP version 1 and 2 is supported.

Subscribing to a group

To subscribe to a multicast group enter the desired multicast address to the UDP open statement.

Example:

OPEN "UDP:224.10.1.3:5000" as 1
CODE

Leaving the group

The group is automatically left if the respective handle is closed:

CLOSE 1
CODE

UDP source/destination ports


  • source port is the same as the port in the open statement

How to get more variables


The current BCL interpreter supports only up to 96 integer and string variables. In complex programs this can be a significant limitation. You can increase the actual number of integer variables in the program by using integer arrays.