User Manual, Short Tutorial

Pushbutton Operation

  • Short pressure: start trip (green LD1) ⇄ stop trip (red LD1)
  • Double click: reset trip (blue LD1)
  • Long pressure: LEDs enabled (white LD1) ⇄ LEDs disabled (orange LD1)
  • Hold button while reset (connect to battery): restore factory settings (magenta LD1)

Command-Line Interface

ManualWoFrames

Terminal Emulator

You can use the command-line interface CLI via USB CDC or Bluetooth LE vSP. You need an application for the PC or an app for the smartphone.

Terminal emulator apps for smartphones (Bluetooth)

The BLE vSP profile is proprietary, there is no standard serial communication profile: After a successful connection the LED LD16 is on (blue).

Terminal emulator applications for PCs

You have to connect the Velo Bling-Bling with an USB cable to the PC: You have to install a driver for Windows. The device name is Virtual Com Port, the appropriate INF file (Setup Information file) is fsl_ucwxp.inf.

After the connector is plugged in, LED LD14 goes on (green or yellow). Additionally a LED from LD1 to LD13 goes on, these LEDs show the battery level, LD1 (red) is lowest, LD13 (green) is highest (battery fully charged). If you push the ESC or the '>' key now, the LEDs go off and similar text is showed:

Euler Wheel 32, Velo Bling Bling                                                                                  
--------------------------------                                                                                  

Version 4.2rc1, 2016/02/01, Copyright Peter Schmid                                                                

Normal operation mode (automatically), hit ESC or '>' for command line interface (interactive mode)                      
Command Line Interface (interactive mode).                                                                        
CLI>  

Basic Configuration

Hier ein paar Beispiele, wie man das Bling-Bling konfiguriert. Es müssen nur die fett geschriebenen Zeichen eingegeben werden.

Beispiel um den Radumfang einzustellen (Eingabe in Meter, alle Einheiten sind SI):

CLI> set circumference 2.130
Oder in Kurzschreibweise:
CLI> set circ 2.130

Vorderrad auswählen

CLI> set wheel front

Soll die Konfiguration dauerhaft abgespeichert werden, d.h. auch nach einem Akkuwechsel oder wenn der Akku voll entladen wurde.:

CLI> save

Die obere Anzeige wird upper die untere lower genannt. Den Teil zwischen upper und lower nenne ich bling. Im bling Teil werden die Bilder wiederholt, wenn eine Anzeige ausgeschaltet ist (blank), dann wird dort auch das Bling-Muster wiederholt. Will man in der Anzeige den String (Text) Hallo Velo! ausgeben, so geht man folgendermassen vor (bitte beachten! für Leerzeichen gibt man _ ein):

CLI> set string lower Hallo_Velo!
CLI> set lower string

Images

Man kann auch Bilder mit der Escape-Sequenz \i<nn> in den String einfügen, z.B. die Schweizer Flagge mit \i00. Weitere Escape-Sequenzen:
 *     _      Space
 *     \_     _
 *     \\     \
 *     \i<nn> image number 00..49
 *     \f<nn> font         00..04
 *     \c<nn> color 00..07 
 *     \s<nn> space in columns

Die Farbe des Strings setzt man mit:

CLI> set color lower green
Farben:
red|green|yellow|blue|magenta|cyan|white
rd|gn|yl|bl|ma|cy|wt

Momentan sind nur wenige Bilder abgespeichert (hauptsächlich Nationalflaggen). Insgesamt hat es im Speicher Platz für 50 Bilder. Bilder können auch heraufgeladen werden. Beispiel um Bild 21 auf der unteren Anzeige auszugeben:

CLI> set image lower 21
CLI> set lower image
Hier die Liste der momentan verfügbaren Bilder:
 
0:  Switzerland
1:  Germany
2:  Austria
3:  Italy
4:  France
5:  Belgium
6:  Spain
10: heart
11: snow
20: Germany spyr.ch Switzerland
21: countries Austria Italy France Belgium
22: countries Switzerland Italy France Germany 
23: countries Germany Switzerland Italy
24: veloblingbling

Will man die Schweizer Flagge als Bling ausgeben:

CLI> set bling image
CLI> set image bling 0

Die Seite (surface) mit dem Drucktaster heisst top, die andere bottom. Die Befehle wie set lower image beziehen sich auf die augenblicklich eingestellte Seite. Die Seite wählt man aus mit:

CLI> set surface bottom

Die wichtigsten Konfigurationen (die Infos beziehen sich auf die eingestellt Seite, in diesem Beispiel auf top) ausgeben:

CLI> show all                                                                                                    
surface top                                                                                                       
upper currentspeed                                                                                                
lower image                                                                                                       
bling blank                                                                                                       
string upper GNU/Linux                                                                                            
string lower spyr.ch                                                                                              
color upper green                                                                                                 
color lower red                                                                                                   
image upper 20
image lower 24
image bling 0
currentspeed 0.0 m/s
maximumspeed 0.0 m/s
averagespeed 0.0 m/s
tripdistance 0.0 m
totaldistance 0.0 m
currentaltitude 361 m
tripaltitude 0 m
totalaltitude 0 m
incline 0 %
altimeteroffset 0 m
temperature 22.4 °C
pedalingcadence 0 /Min
triptime 1 s
totaltime 0 s
chronotime 0 s
circumference 2.11 m
stretch 1.0 
logintervall 60 s
battery 4.29 V
acceleration -0.92 -0.61 9.66 m/s^2, Orientation 198
trip stopped
chrono stopped
unit metric
side left
wheel rear
20150327190034

Overview Commands

Übersicht Befehle:
show     all
set      upper|lower speed|max|avg|trip|tot|alt|inc|temp|cad|watch|time|stop|string|blk|img|light
set      bling blk|img
show     currentspeed|speed   <float>            [m/s]
show     maximumspeed|max     <float>            [m/s]
show     averagespeed|avg     <float>            [m/s]
show     tripdistance|trip    <float>            [m]
show|set totaldistance|tot    <float>            [m]
show     currentaltitude|alt  <float>            [m]
show     tripelevationgain|gain <float>          [m]
show|set totalelevationgain|totgain <float>      [m]
set      altimeteroffset|alti <float>            [m]
show     incline|inc          <float>            [%]
show     temperature|temp     <float>            [°C]
show     pedalingcadence|cad  <float>            [/Min]
      
show|set currenttime|watch    yyyymmddhhmmss
show     triptime|time        <float>            [s]
show|set totaltime|tottime    <float>            [s]
show     chronotime|chrono    <float>            [s]
     
show     datalog
      
show|set circumference|circ   <float>            [m]
show|set unit                 imperial|metric 
show|set stretch              <float>
show|set side                 left|right      
show|set wheel                front|rear
show|set logintervall|log     <float>            [s]
show|set delay                <float>            [°]
show|set surface              top|bottom
      
show|set upper|lower          speed|max|avg|trip|tot|alt|inc|temp|cad|watch|time|stop|str|blk|img|light
show|set bling                str|blk|img
   
show|set color upper|lower    rd|gn|yl|bl|ma|cy|wt
      
show|set pattern              number           [0..49]
rrrrrrrrrrrr    
rrrrrwwrrrrr    
rrrrrwwrrrrr         
rrwwwwwwwwrr    
rrwwwwwwwwrr    
rrrrrwwrrrrr    
rrrrrwwrrrrr    
rrrrrrrrrrrr    
   .
show|set string upper|lower   anystring
show|set image upper|lower|bling number

set script                    number
commands..
;

show script                   number
script start|test             number
script stop
     
trip start|stop|pause|resume
    
test
about
help
reset
exit

Fonts

Das Display ist 100x16 Pixel gross. Im Beispiel unten ist die 12 in 8x12 Font, der : ist in 5x12 und das "A" in 12x16 Font.
        0 1 2 3 4 5 6 7 8 9 A B C D E F101122131415161718191A1B1C1D1E1F2021..
F 8000 --------------------------------------------         XXXX 
E 4000 --------------------------------------------         XXXX
D 2000 --------------------------------------------       XXXXXXXX
C 1000 --------------------------------------------       XXXXXXXX
B 0800                                                    XXXXXXXX
A 0400     XX           XXXXXXXX                        XXXXXXXXXXXX
9 0200   XXXX         XXXX    XXXX                      XXXX    XXXX
8 0100 XXXXXX         XXXX    XXXX                      XXXX    XXXX
7 0080     XX                 XXXX        XXXX        XXXX        XXXX
6 0040     XX               XXXX          XXXX        XXXXXXXXXXXXXXXX
5 0020     XX             XXXX                        XXXXXXXXXXXXXXXX
4 0010     XX           XXXX                        XXXX            XXXX
3 0008     XX         XXXX    XXXX        XXXX      XXXX            XXXX
2 0004 XXXXXXXXXXX----XXXXXXXXXXXX----    XXXX----  XXXX            XXXX--
1 0002                  
0 0001                   
Es sind 20 Zeichen in 5x12, 14 Zeichen in 7x12, 12 Zeichen in 8x12 und 8 Zeichen in 12x16 Font darstellbar. Die verfügbaren Fonts sind 5x12 (0), 6x8 (1), 7x12 (2), 7x12b (3), 8x12 (4) und 12x16 (5). Der Default-Font ist 7x12b. Font ist innerhalb des Strings mit \f<nn> änderbar, z.B. \i00 für den kleinsten Font.

Scripts

Very simple script interpreter. Every line is interpreted by CLI except lines beginning with : (colon) or ; (semicolon). After reading a semicolon the script restarts from the beginning. A line has to be <= 80 chars long.

The script buffer is 800 bytes and shares the same memory for the images (dotmatrix). That means one buffer has room for about 50 command lines. If that is not enough then you can start another script buffer within the script.

Special Commands

:wait n
waits n seconds

:exit
aborts script

;
script end, restart script from beginning

Sample

CLI> set script 40
set string upper Hallo
set string lower Velo
set upper string
set lower string
:wait 10
set upper speed
set lower trip
:wait 10
;
CLI> show script 40
set string upper Hallo
set string lower Velo
set upper string
set lower string
:wait 10
set upper speed
set lower trip
:wait 10
;
CLI> script start 40
CLI> script stop
script stopped

Terminology

Display

vbb-images-s.png

In this example the upper display shows the current speed and the lower display the string veloblingbling. Each side has its own independent upper an lower display (see section Surface below).

Between these two displays there is another display called bling. If the upper or lower display is blank and bling display is not blank, the bling image/string is showed instead. The bling image is repeated till the end of the rotation, see the rear wheel in the video: the upper display shows the trip distance, the bling display shows the repeated image with the Swiss, German, French, and Italian flags. After each rotation the image is turned counterclockwise 4 pixels.

Surface

The Velo Bling-Bling side with the pushbutton is called top surface (usually the left side), the other side bottom surface.

Mode

The displays can show static or dynamic info. Strings or images are static, cyclocomputer values are dynamic. Bling displays can show only static info.

Image

Images have a height of 16 pixels (the number of LEDs) and a maximum length of 100 pixels. The LEDs can display 8 different colors.

String

Trip

-- Peter Schmid - 2015-03-28

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
Textinf fsl_ucwxp.inf r1 manage 3.2 K 2016-08-10 - 08:16 PeterSchmid  
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r12 - 2016-11-13 - PeterSchmid
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback