fiduciary

Author Topic: TeensySaber Software Discussion  (Read 67173 times)

0 Members and 4 Guests are viewing this topic.

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: TeensySaber Software Discussion
« Reply #195 on: December 29, 2017, 01:06:14 AM »
Fixed the error. Its was in the way my preset was set up

But now when i go to upload to the teensy it says the lightsaber.ino.hex is too large. has anyone experienced this before?

That's new, did you make sure you selected "Teensy 3.1/3.2" in the boards menu?

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: TeensySaber Software Discussion
« Reply #196 on: December 29, 2017, 01:07:51 AM »
Just looked into it a bit more and noticed the led on the Teensy isn’t lighting up. Perhaps I fried something while soldering or there’s a wiring error. Tho I wired it up to the Teensy saber and accessories just as it was in the diagram

That's normal. The LED on the teensy is connected to pin 13, which is also used for SPI communication. In teensysaber SPI is used to access the SD card, so the LED only lights up when reading from the SD card.

Offline TTFRAZ

  • No Force
  • *
  • Posts: 17
  • Um...Hello?
Re: TeensySaber Software Discussion
« Reply #197 on: December 29, 2017, 08:27:11 AM »
Fixed the error. Its was in the way my preset was set up

But now when i go to upload to the teensy it says the lightsaber.ino.hex is too large. has anyone experienced this before?

That's new, did you make sure you selected "Teensy 3.1/3.2" in the boards menu?

yup its on teensy 3.2 / 3.1, serial, 96 MHz (overclock), Faster, US english on COM1

the teensy loader says lightsaber.ino.hex (too large!)

and when i verify and try to sync it reads
Code: [Select]
Arduino: 1.8.5 (Mac OS X), TD: 1.40, Board: "Teensy 3.2 / 3.1, Serial, 96 MHz (overclock), Faster, US English"

Build options changed, rebuilding all
Sketch uses 158432 bytes (60%) of program storage space. Maximum is 262144 bytes.
Global variables use 25788 bytes (39%) of dynamic memory, leaving 39748 bytes for local variables. Maximum is 65536 bytes.
Teensy did not respond to a USB-based request to enter program mode.
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch.
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
 



Offline spearson

  • No Force
  • *
  • Posts: 20
  • Um...Hello?
Re: TeensySaber Software Discussion
« Reply #198 on: December 29, 2017, 10:14:29 AM »
For what it's worth, I had a similar problem but mine was because of lack of power to my teensy board.  When I jumped the teensy power back together (the one you cut) my teensy lit up, so I needed to add a connection from bat neg to ground on my V2.

Offline spearson

  • No Force
  • *
  • Posts: 20
  • Um...Hello?
Re: TeensySaber Software Discussion
« Reply #199 on: December 29, 2017, 10:17:34 AM »
Quick update, renabled motion and the serial monitor worked, and my hum now fades out.  Though there is a strange issue where after I reprogram and the teensy reboots the motion chip fails to start so I need to insert the kill key and pull it for it to work again.

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: TeensySaber Software Discussion
« Reply #200 on: December 29, 2017, 10:40:30 AM »
Fixed the error. Its was in the way my preset was set up

But now when i go to upload to the teensy it says the lightsaber.ino.hex is too large. has anyone experienced this before?

That's new, did you make sure you selected "Teensy 3.1/3.2" in the boards menu?

yup its on teensy 3.2 / 3.1, serial, 96 MHz (overclock), Faster, US english on COM1

the teensy loader says lightsaber.ino.hex (too large!)

and when i verify and try to sync it reads
Code: [Select]
Arduino: 1.8.5 (Mac OS X), TD: 1.40, Board: "Teensy 3.2 / 3.1, Serial, 96 MHz (overclock), Faster, US English"

Build options changed, rebuilding all
Sketch uses 158432 bytes (60%) of program storage space. Maximum is 262144 bytes.
Global variables use 25788 bytes (39%) of dynamic memory, leaving 39748 bytes for local variables. Maximum is 65536 bytes.
Teensy did not respond to a USB-based request to enter program mode.
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch.
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
 


This doesn't say that the program is too large. It says it can't reset the teensy. You might just need to press the button. Or, the teensy doesn't have power.

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: TeensySaber Software Discussion
« Reply #201 on: December 29, 2017, 10:44:54 AM »
Quick update, renabled motion and the serial monitor worked, and my hum now fades out.  Though there is a strange issue where after I reprogram and the teensy reboots the motion chip fails to start so I need to insert the kill key and pull it for it to work again.

This happens because the programming interrupts the motion chip communication, so the motion chip is waiting for the teensy to read more bytes. The code tried to work around this, but it doesn't always work.

Offline KanyonKris

  • Padawan Learner
  • **
  • Posts: 72
  • Um...Hello?
Re: TeensySaber Software Discussion
« Reply #202 on: December 29, 2017, 04:35:06 PM »
yup its on teensy 3.2 / 3.1, serial, 96 MHz (overclock), Faster, US english on COM1
I've never seen a Teensy on COM1, usually that's a default Windows serial port (often it doesn't exist). Go into the Tools | Port menu and try selecting a different port, usually the correct port says "Teensy" next to it.

Offline KanyonKris

  • Padawan Learner
  • **
  • Posts: 72
  • Um...Hello?
Invert X
« Reply #203 on: January 05, 2018, 12:36:56 PM »
A few of us mounted the saber board backwards (SD card toward the blade) which means the X axis of the IMU is inverted and drag mode doesn't work. Here's how I fixed it just for drag mode.

Added a new define for the config.h file:
Code: [Select]
// If the TeensySaber is backward (SD card toward blade), define this. The drag effect won't work if this is wrong.
#define INVERT_X

And added an ifdef to the drag/clash case:
Code: [Select]
      case EVENTID(BUTTON_AUX, EVENT_PRESSED, MODE_ON):
#ifdef INVERT_X
        accel_.x = -accel_.x;
#endif
        if (accel_.x < -0.15) {
          pointing_down_ = true;
        } else {
          pointing_down_ = false;
        }
        break;

I tried to figure out how to invert the X axis at a lower level, but couldn't (I'm not a skilled coder).

Should both the X and Y axis be inverted together since they are on the same plane?

Should there be a way to invert the Z axis? I don't think so, just asking.
« Last Edit: January 05, 2018, 01:16:51 PM by KanyonKris »

Offline KanyonKris

  • Padawan Learner
  • **
  • Posts: 72
  • Um...Hello?
ENABLE_SNOOZE
« Reply #204 on: January 05, 2018, 12:53:16 PM »
Is ENABLE_SNOOZE safe to use? In all the example config files it's commented out which makes me hesitant.

Looks like it snoozes after 1 second.  So this puts the Teensey into a low power mode waiting for an interrupt (button press) to wake it up.

Does it also cut power to the blade (via the FETs)? I have a PL9823 string blade and it draws a fair amount of current even if all the LEDs are off. Would be nice to stop this power draw if I forget to pull the blade (kill switch).

Offline KanyonKris

  • Padawan Learner
  • **
  • Posts: 72
  • Um...Hello?
Lotsa config commenting
« Reply #205 on: January 05, 2018, 01:26:28 PM »
I like documentation in comments. Here's my config file with lots of comments added for all the templates for the presets, color names, etc.

Code: [Select]
#ifdef CONFIG_TOP
  #include "v3_config.h"
  // Number of simultaneously connected blades. (For interchangeable blades, see the blades[] array.)
  #define NUM_BLADES 1
  // Number of buttons
  #define NUM_BUTTONS 1
  // Dual power buttons means that clicking AUX will also turn the saber on. If not defined, AUX will go to next preset when off.
//  #define DUAL_POWER_BUTTONS
  // Volume, useful range is about 0-2000.
  #define VOLUME 1000
  // Number of LEDs connected together in the blade.
  // If you have two 144 LED/m strips in your blade, connect both of them to bladePin and drive them in parallel.
  const unsigned int maxLedsPerStrip = 81;
  // This defines how sensetive the clash detection is.
  #define CLASH_THRESHOLD_G 1.2
  // If the TeensySaber is backward (SD card toward blade), define this. The drag effect won't work if this is wrong.
//  #define INVERT_X
  // Define this if your power button is a touch button.
//  #define POWER_TOUCHBUTTON_SENSITIVITY 1700
//  #define AUX_TOUCHBUTTON_SENSITIVITY 1700
//  #define AUX2_TOUCHBUTTON_SENSITIVITY 1700
  // For V1 electronics, there is an external pullup resistor to measure battery voltage. This specifies how many Ohms it is.
  #define BATTERY_PULLUP_OHMS 23000
  // If your electonics inverts the bladePin for some reason, define this.
//  #define INVERT_WS2811
  // Feature defines, these let you turn off large blocks of code used for debugging.
  #define ENABLE_AUDIO
  #define ENABLE_MOTION
//  #define ENABLE_SNOOZE
  #define ENABLE_WS2811
  // FASTLED is experimental and untested right now
//  #define ENABLE_FASTLED
//  #define ENABLE_WATCHDOG
  #define ENABLE_SD
//  #define ENABLE_SERIALFLASH
  #define ENABLE_SERIAL
#endif  // CONFIG_TOP

#ifdef CONFIG_PRESETS

// *** CONFIGURABLE ***
// PRESETS
// Each preset line consists of:
// { "font directory", "sound track", Style, "name" },
// The first entry is a directory containing a sound font.
// The second entry is a sound track that can be played in the background.
// The third entry is a BladeStyle pointer, which specifies what the blade will actually look like.
// The forth entry is an optional name for the preset.
// Style may be one of these standard styles:
//   StyleNormalPtr<BaseColor, FlashColor, out millis, in millis>()
//   StyleFirePtr<LowHeatColor, HighHeatColor>()
//   StyleRainBowPtr<out millis, in millis>()
//   StyleStrobePtr<BaseColor, FlashColor, out millis, in millis>()
//   &style_charging
// Or Style may be a template built of these components:
//   Rgb<R, G, B> - Solid 8-bit color. (Rgb<255,255,255> is white)
//   Rgb16<R, G, B> - Solid 16-bit color. (Rgb<65536,65536,65536> is white)
//   Gradient<BASE_COLOR, TIP_COLOR> - smooth fade from base to tip
//   Rainbow - scrolling RGB rainbow
//   Pulsing<COLOR1, COLOR2, pulse_millis> - smoothly translate between COLOR1 and COLOR2 every pulse_millis.
//   RandomFlicker<COLOR1, COLOR2> - Randomly mixes between COLOR1 and COLOR2, mix is even over entire blade.
//   RandomPerLEDFlicker<COLOR1, COLOR2> - Randomly mixes between COLOR1 and COLOR2, mix is different for each LED.
//   AudioFlicker<COLOR1, COLOR2> - Like RandomFlicker, but chooses based on audio, quiet audio means more COLOR1, loud audio means more COLOR2. The choice is made based on a single sample to make it flickery.
//   OnSpark<COLOR, SPARK_COLOR, MILLIS> - Normally defaults to "COLOR", but right as you turn on the saber, it uses SPARK_COLOR, then fads back to COLOR.
//   SimpleClash<COLOR, CLASH_COLOR, CLASH_MILLIS> - Normally defaults to "COLOR", but when you whack the saber, it will use CLASH_COLOR for CLASH_MILLIS millseconds.
//   Lockup<COLOR, LOCKUP_COLOR> - Normally uses "COLOR", but during lockup, use "LOCKUP_COLOR" instead.
//   Strobe<COLOR, STROBE_COLOR, FREQUENCY, STROBE_MILLIS> - Similar to SimpleClash, but flickers at a fixed frequency.
//   InOutHelper<COLOR, OUT_MILLIS, IN_MILLIS> - Makes part of the blade black to make in/out/on/off work the way you expect.
//   InOutSparkTip<COLOR, OUT_MILLIS, IN_MILLIS, SPARK_COLOR> - Similar to InOutHelper, but as the blade is extended, the part closest to the tip will be SPARK_COLOR. (usually white)
//   BrownNoiseFlicker<COLOR1, COLOR2, GRADE> - Randomly selects between COLOR1 and COLOR2, but keeps nearby pixels looking similar.
//   HumpFlicker<COLOR1, COLOR2, HUMP_WIDTH> - Makes a random "hump" which is about 2xHUMP_WIDTH leds wide.
//   RGBCycle - Very fast Red, Green, Blue cycle, result should essentially be white until you start swinging it around.
//   EasyBlade<COLOR, CLASH_COLOR> = SimpleClash<Lockup<Blast<COLOR, WHITE>, AudioFlicker<COLOR, WHITE> >, CLASH_COLOR>;
//   StylePtr<COLOR> - Converts one of the templates from above to a BladeStylePtr so you can use it in a preset array.
// Now here's the really cool part: Anywhere where you can specify a color above, you can also specify a component, making a LOT of combinations possible.
// All colors can be specified as three numbers or using one the handy macros below.
// If you wish to have different presets for different blades, copy this array and
// name it something other than "preset", then use the new name inside the blade
// configuration array below. See "simple_presets" and "charging_presets"
// below for examples.
// Basic color macros: RED, GREEN, BLUE, YELLOW, CYAN, MAGENTA, WHITE, GRAY, BLACK
// Extended color macros: AliceBlue, Aqua, Aquamarine, Azure, Bisque, Black, BlanchedAlmond, Blue
//  Chartreuse, Coral, Cornsilk, Cyan, DarkOrange, DeepPink, DeepSkyBlue, DodgerBlue
//  FloralWhite, Fuchsia, GhostWhite, Green, GreenYellow, HoneyDew, HotPink, Ivory
//  LavenderBlush, LemonChiffon, LightCyan, LightPink, LightSalmon, LightYellow, Lime
//  Magenta, MintCream, MistyRose, Moccasin, NavajoWhite, Orange, OrangeRed
//  PapayaWhip, PeachPuff, Pink, Red, SeaShell, Snow, SpringGreen, SteelBlue
//  Tomato, White, Yellow

Preset presets[] = {
   { "f-stndrd", "tracks/cantina.wav", StylePtr<InOutSparkTip<EasyBlade<BLUE, WHITE>, 300, 800> >(), "blue" },
   { "f-stndrd", "tracks/track.wav", StyleNormalPtr<RED, WHITE, 300, 800>(), "red" },
   { "f-stndrd", "tracks/cantina.wav", StylePtr<InOutSparkTip<EasyBlade<DarkOrange, YELLOW>, 300, 800> >(), "orange" },
   { "f-stndrd", "tracks/swtheme.wav", StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan" },
   { "f-stndrd", "tracks/cantina.wav", StylePtr<InOutSparkTip<EasyBlade<BLUE, WHITE>, 300, 800> >(), "blue" },
   { "f-stndrd", "tracks/track.wav", StylePtr<InOutHelper<EasyBlade<OnSpark<GREEN>, WHITE>, 300, 800> >(), "green" },
   { "f-stndrd", "tracks/impmarch.wav", StyleFirePtr<RED, YELLOW>(), "fire" },
   { "f-stndrd", "tracks/track.wav", StyleFirePtr<BLUE, CYAN>(), "blue fire" },
   { "f-stndrd", "tracks/track.wav", StyleNormalPtr<WHITE, RED, 300, 800, RED>(), "white" },
   { "f-stndrd", "tracks/track.wav", StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), "yellow" },
   { "f-stndrd", "tracks/cantina.wav", StyleRainbowPtr<300, 800>(), "rainbow" },
   { "f-stndrd", "tracks/track.wav", StylePtr<InOutSparkTip<EasyBlade<MAGENTA, WHITE>, 300, 800> >(), "magenta" },
   { "f-stndrd", "tracks/track.wav", StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), "strobe"},
//   { "f-stndrd", "tracks/track.wav", &style_pov, "POV"},
   { "f-stndrd", "tracks/track.wav", &style_charging, "Battery\nLevel"},
   { "charging", "tracks/duel.wav", &style_charging, "battery" },
};

Preset charging_presets[] = {
  { "charging", "", &style_charging },
};

// WS2811_800kHz 0x00      // Nearly all WS2811 are 800 kHz
// WS2811_400kHz 0x10      // Adafruit's Flora Pixels
// WS2813_800kHz 0x20      // WS2813 are close to 800 kHz but has 300 us frame set delay
// WS2811_580kHz 0x30      // PL9823
// WS2811_ACTUALLY_800kHz 0x40      // Normally we use 740kHz instead of 800, this uses 800.

// WS2811_RGB       // The WS2811 datasheet documents this way
// WS2811_RBG
// WS2811_GRB       // Most LED strips are wired this way
// WS2811_GBR

BladeConfig blades[] = {
    // PL9823 blade. Resistor is 2.6k but is measuring way higher. Blade measures: ID: 680 volts 2.19 resistance= 65232.56, ID: 708 volts 2.28 resistance= 73936.70
 { 65000, WS2811BladePtr<maxLedsPerStrip, WS2811_580kHz | WS2811_RGB>(), CONFIGARRAY(presets) },
  // Charging adapter, single PL9823 LED. Charger measures: ID: 489 volts 1.58 resistance= 30162.62
 { 30000, WS2811BladePtr<1, WS2811_580kHz | WS2811_RGB>(), CONFIGARRAY(charging_presets) },
  // For testing (makes the charging blade behave like a normal blade.)
  //  {  30000, WS2811BladePtr<1, WS2811_580kHz | WS2811_RGB>(), CONFIGARRAY(presets) },
};
#endif  // CONFIG_PRESETS

#ifdef CONFIG_BUTTONS
  Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
//  TouchButton PowerButton(BUTTON_POWER, powerButtonPin, 1700, "pow");
//  Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif
« Last Edit: February 02, 2018, 04:25:15 PM by KanyonKris »

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: Invert X
« Reply #206 on: January 06, 2018, 09:05:57 PM »
A few of us mounted the saber board backwards (SD card toward the blade) which means the X axis of the IMU is inverted and drag mode doesn't work. Here's how I fixed it just for drag mode.

Added a new define for the config.h file:
Code: [Select]
// If the TeensySaber is backward (SD card toward blade), define this. The drag effect won't work if this is wrong.
#define INVERT_X

And added an ifdef to the drag/clash case:
Code: [Select]
      case EVENTID(BUTTON_AUX, EVENT_PRESSED, MODE_ON):
#ifdef INVERT_X
        accel_.x = -accel_.x;
#endif
        if (accel_.x < -0.15) {
          pointing_down_ = true;
        } else {
          pointing_down_ = false;
        }
        break;

I tried to figure out how to invert the X axis at a lower level, but couldn't (I'm not a skilled coder).

Should both the X and Y axis be inverted together since they are on the same plane?

Should there be a way to invert the Z axis? I don't think so, just asking.

I'll add a way to change the orientation in the next version.
(Just don't let me forget...)

Offline profezzorn

  • Mining Colony Members
  • Master Force User
  • *
  • Posts: 901
  • May the source be with you.
    • Hubbe's Corner
Re: ENABLE_SNOOZE
« Reply #207 on: January 06, 2018, 09:10:21 PM »
Is ENABLE_SNOOZE safe to use? In all the example config files it's commented out which makes me hesitant.

Looks like it snoozes after 1 second.  So this puts the Teensey into a low power mode waiting for an interrupt (button press) to wake it up.

Does it also cut power to the blade (via the FETs)? I have a PL9823 string blade and it draws a fair amount of current even if all the LEDs are off. Would be nice to stop this power draw if I forget to pull the blade (kill switch).

The blade power is automatically disabled weather you have ENABLE_SNOOZE on or not, as long as the blade style calls the allow_disable() function.

ENABLE_SNOOZE doesn't really work. I've experimented with it quite a bit, and it's possible to reduce power consumption, but it messes with USB communication which can make it difficult to re-program the teensy without pushing the reset button. Also, the power savings are not that big, because the power booster always keeps running.

Offline KanyonKris

  • Padawan Learner
  • **
  • Posts: 72
  • Um...Hello?
Re: ENABLE_SNOOZE
« Reply #208 on: January 06, 2018, 10:16:33 PM »
The blade power is automatically disabled weather you have ENABLE_SNOOZE on or not, as long as the blade style calls the allow_disable() function.

ENABLE_SNOOZE doesn't really work. I've experimented with it quite a bit, and it's possible to reduce power consumption, but it messes with USB communication which can make it difficult to re-program the teensy without pushing the reset button. Also, the power savings are not that big, because the power booster always keeps running.
<slaps forhead> of course the code turns off the FETs when the blade is off. Thanks for confirming the obvious. When we were soldering the LEDs into string we'd test them with a bench supply and a simple program to turn the LEDs on and off and that's when we saw how much power they draw even when digitally commanded to all off, so that's what threw me.

And thanks for the info about ENABLE_SNOOZE. I agree the power savings would be minimal so not worth messing with.

Offline spearson

  • No Force
  • *
  • Posts: 20
  • Um...Hello?
Re: TeensySaber Software Discussion
« Reply #209 on: January 09, 2018, 03:45:17 PM »
Update, re-soldered my blade connections and now no more random on LEDs, so that's good, and all my effects are working.

I think I may have some font issues though.  I'm using a polyphonic font and I'm getting 2 things don't seem right.

1) The hum fades out when power button is clicked, but the Amplifier does not turn off, I can hear it.  When I hit Aux and it goes to the next preset, then the Amp turns off.  Previously we thought it was because Motion was turned off and preventing the fade out, but that part is actually working now.  Is that something with the font do you think, or code? 

2) I'm getting 'Wrong Format' on my swing files, which is weird because they are no different than all the other files, and they play just fine in windows media player.

Here is some snippets of Serial Monitor logs:

Sdcard found..
ID: 224 volts 0.72 resistance= 9240.00
blade= 0
WS2811 Blade with 144 leds
Scanning sound font: fonts done
Activating polyphonic font.
unit = 0 vol = 0.50, No sounds found: boot
Amplifier off.
Motion setup ... done.
Welcome to TeensySaber, type 'help' for more info.

EVENT: Power-Pressed
EVENT: Power-Released
EVENT: Power-Shortclick
Ignition.
unit = 0 vol = 0.50, Playing fonts/hum/hum01.wav
channels: 1 rate: 22050 bits: 16
unit = 1 vol = 0.50, Playing fonts/out/out02.wav
channels: 1 rate: 22050 bits: 16

//Power button to turn off
EVENT: Power-Pressed ON
EVENT: Power-Released ON
EVENT: Power-Shortclick ON
unit = 1 vol = 0.50, Playing fonts/in/in02.wav
channels: 1 rate: 22050 bits: 16
Battery voltage: 3.87

//whatison
Saber bases: Off
Audio splicer: Off
Beeper: Off
Talker: Off
Wav player 0: On (eof =  0 volume = 0.00)
Wav player 1: Off (eof =  1 volume = 0.50)
Wav player 2: Off (eof =  0 volume = 0.50)
Wav player 3: Off (eof =  0 volume = 0.50)
Wav player 4: Off (eof =  0 volume = 0.50)
Wav player 5: Off (eof =  0 volume = 0.50)

//aux button to change presets
EVENT: Aux-Pressed
EVENT: Aux-Released
EVENT: Aux-Shortclick
DISPLAY: blue
Scanning sound font: fonts done
Activating polyphonic font.
unit = 0 vol = 0.50, Playing fonts/font.wav
channels: 1 rate: 22050 bits: 16
Amplifier off.

//whatison
Saber bases: Off
Audio splicer: Off
Beeper: Off
Talker: Off
Wav player 0: Off (eof =  1 volume = 0.50)
Wav player 1: Off (eof =  0 volume = 0.50)
Wav player 2: Off (eof =  0 volume = 0.50)
Wav player 3: Off (eof =  0 volume = 0.50)
Wav player 4: Off (eof =  0 volume = 0.50)
Wav player 5: Off (eof =  0 volume = 0.50)


EVENT: Power-Pressed
EVENT: Power-Released
EVENT: Power-Shortclick
Ignition.
unit = 0 vol = 0.50, Playing fonts/hum/hum01.wav
channels: 1 rate: 22050 bits: 16
unit = 1 vol = 0.50, Playing fonts/out/out03.wav
channels: 1 rate: 22050 bits: 16
Battery voltage: 3.71

unit = 1 vol = 0.50, Playing fonts/swng/swng06.wav
Wrong format.
EVENT: Clash ON
unit = 1 vol = 0.50, Playing fonts/clsh/clsh13.wav
channels: 1 rate: 22050 bits: 16
EVENT: Clash ON
unit = 2 vol = 0.50, Playing fonts/clsh/clsh03.wav
channels: 1 rate: 22050 bits: 16
unit = 3 vol = 0.50, Playing fonts/swng/swng01.wav
Wrong format.
unit = 3 vol = 0.50, Playing fonts/swng/swng04.wav
Wrong format.
unit = 3 vol = 0.50, Playing fonts/swng/swng07.wav
Wrong format.



 

retrousse