neskweek / lightsaberos Goto Github PK
View Code? Open in Web Editor NEWOperating System for Arduino based LightSaber
License: Creative Commons Zero v1.0 Universal
Operating System for Arduino based LightSaber
License: Creative Commons Zero v1.0 Universal
Hello!
I uploaded the OS, every function works fine (long-short presses etc.), but the sounds are in wrong order. (Instead of "Boot" it plays "Flicker effect" etc.). I did the DRAG AND DROP NOT COPY AND PASTE! I have tried everything: changing the order of sound files, different formatting types of SD card, even changed the numbers and names, but can't get it fixed.
Anyone can help?
Thanks
Hi neskweek,
Yesterday I've been experimenting again with the clash detection, because it still seems to be not as responsive as it should be. I looked at the code and also read the MPU6050 Manual, all about motion interrupts.
It seems there are only 4 parameters playing a roles:
These settings change the full scale range of the accelero/gyro (not yet in LSOS...). These should change the sensitivity of the saber because an LSB is scaled with full range.
// set the fll scale range of the gyro- and accelerometer respectively
mpu.setFullScaleGyroRange(0); //0: 250deg/s | 1: 500deg/s | 2: 1000deg/s | 3: 2000deg/s
mpu.setFullScaleAccelRange(0); //0: 2g | 1: 4g | 2: 8g | 3: 16g
Then there are the settings for the motion interrupt. The first one sets the threshold, but no idea how...I guess the number means LSB. But it's strange, with a setting of 10, we should hear clash triggering all the time even if we just shudder.
mpu.setMotionDetectionThreshold(10); // 1mg/LSB
mpu.setMotionDetectionDuration(1); // number of consecutive samples above threshold to trigger int
I experimented with following things (using 2 sabers both with DIYino):
set mpu.setFullScaleAccelRange(0) and mpu.setFullScaleGyroRange(0) once to 0 and once to 3 (2 extreme values) -> no change in the clash detection, no tangible effect on other motion detection
play with mpu.setMotionDetectionDuration(1) -> no change in clash detection
Funny thing is, my LED string saber is no (without any change) very responsive, even small taps will trigger clash (the right way!), while my new neopixel saber (using also DIYino) sometimes even fail to detect quite hard hits...I re-calibrated both MPUs and also tried with a sketch what they read, they read and are calibrated both perfectly.
So I feel we still do not fully understand how this motion interrupt feature works...although clash is by far the most important feature of a saber (besides the LEDs).
It is more a fundamental topic, not an immediate bug, but I did not find a better place to report/discuss.
Cheers: Andras
Hi,
so I went to update from 1.4 to 1.5, I modified the config so it was the same as 1.4
I get this error, a new one for me, and I cant even comprehend what it means
Arduino: 1.6.13 (Windows 8.1), Board: "Arduino Nano, ATmega328"
exit status 1
cannot convert 'cRGB' to 'uint8_t {aka unsigned char}' for argument '2' to 'void getColor(uint8_t*, uint8_t)'
Any ideas
im fairly sure its related to LUXEON, due to this being the error line (the second line)
#if defined LUXEON getColor(currentColor, storage.sndProfile[storage.soundFont].blasterboltColor);
hi neskweek , Can you help me to look what is the problem , i had follow your instruction step by step but still keep getting error!
11:09:14 **** Incremental Build of configuration Debug_AVaRICE for project LightsaberOS ****
"C:\Program Files\eclipseArduino\arduinoPlugin\tools\make\make" all
Cannot run program "C:\Program Files\eclipseArduino\arduinoPlugin\tools\make\make": Launching failed
Error: Program "C:\Program Files\eclipseArduino\arduinoPlugin\tools\make\make" not found in PATH
PATH=[C:\Program Files\eclipseArduino\arduinoPlugin\tools\arduino\avr-gcc\4.8.1-arduino5/bin/;;C:/Program Files/eclipseArduino/jre/bin/client;C:/Program Files/eclipseArduino/jre/bin;C:/Program Files/eclipseArduino/jre/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Microsoft SQL Server\90\Tools\binn;C:\Program Files\QuickTime\QTSystem;C:\Program Files\eclipseArduino]
11:09:14 Build Finished (took 47ms)
Hi neskweek!
Your project is just awesome! I'm building a lightsaber with same electronics, but i have a problem. I keep trying to upload the OS just as in your tutorial, but it just isn't working for me...
So I know it might be too much to be asked, but i still ask you: Could you please make a detailed video tutorial of uploading and maybe even building one of those sound boards?
Best wishes
Hi, is it possible use this code with just the atmega328p ?
When attempting to extract SDCard.7z on Mac OSX (Sierra) using The Unarchiver, I get the error message "Could not extra the file "..." from the archive "SDCard.7z": The archive file is corrupted"
This happens for all files in the archive.
Lightsaber only powers on / powers off once. After that, the saber becomes unresponsive - buttons do nothing, no sound is played, and LEDs remain off. While the saber is on, however, it functions as expected - swings detected, blaster mode can be entered/exited, and lockup activated. Upon powering off lightsaber, "L" LED aboard nano remains lit for 1s and extinguishes (otherwise, it is solid).
Config menu works as expected only from boot. Can be entered/exited multiple times without issue, but cannot be accessed after power on/power off when the saber becomes unresponsive.
Problem persists on two different Nano clone boards (these) with CH340G USB serial chips (not FTDI). Issue was not encountered the first few times code was compiled/uploaded to Nano. Tried resetting the board with blank sketch and reuploading LSOS - no success.
Commented LS_INFO and uncommented LS_DEBUG, LS_BUTTON_DEBUG, LS_RELAUNCH_DEBUG, and LS_DEBUG_SLEEP in Config. Serial monitor returns "Main button click" upon power on and "Main button longPress start" and "Main button longPress..." during power off. Doesn't seem to iterate "Main button longPress..." like it does for entering config menu. Also does not seem to detect the button being released.
Using Arduino IDE to compile the newest version and I get the following error
`Arduino: 1.6.9 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\Damien\Downloads\LightSaberOS\LightSaberOS\LightSaberOS.ino: In function 'void loop()':
LightSaberOS:1099: error: duplicate case value
case 2: // BLADE MAIN COLOR
^
LightSaberOS:1000: error: previously used here
case 2: // BLADE MAIN COLOR
^
LightSaberOS:1118: error: duplicate case value
case 3: //BLADE CLASH COLOR
^
LightSaberOS:1022: error: previously used here
case 3: //BLADE CLASH COLOR
^
LightSaberOS:1149: error: 'struct StoreStruct' has no member named 'soundFontColorPreset'
storage.soundFontColorPreset[storage.soundFont][0] =
^
LightSaberOS:1151: error: 'struct StoreStruct' has no member named 'soundFontColorPreset'
storage.soundFontColorPreset[storage.soundFont][1] =
^
LightSaberOS:1357: error: too few arguments to function 'void lightOff(uint8_t*)'
lightOff();
^
In file included from C:\Users\Damien\Downloads\LightSaberOS\LightSaberOS\LightSaberOS.ino:24:0:
sketch\Light.h:40:6: note: declared here
void lightOff(uint8_t ledPins[]);
^
exit status 1
duplicate case value
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
`
This is a shot in the dark, but i have a Luxeon Cre Tri Led and as far as i can tell LSOS in its current form is not compatible. The options that i see for luxeon involve an rgb Luxeon. The Luxeon Cre that i have has 2 blue led and 1 white. When the blade isnt "clashing" the two blue lights are On. When a clash happens the blues turn off and the single white tuelrns on. From what i can see with my limited c++ knowledge, this is not how the luxeon portion works. If im wrong please point me in the right direction. If im correct, are you or anyone reading this willing to work and write the code with me. Once again im am very limited in my coding skills. I would also consider paying for someones time to make the code. I do thank anyone who is reading this.
In a previous ticket you told me if I wire Negative through a N-Fet I needed to do something...but I am not understanding what you meant. Where in the code would I make the change?
What is the pin assigned to the status LED of the main button
I played with the code because I was bugged that my Kylo Ren did not respond as sensitive to clashes as I wanted it to be. During the debug I discovered, that in the main file LigthSaberOS, in the actionmode first the motionEngine() function is called, followed by the mpu.getIntStatus polling and compare of the value to detect a clash.
I moved the motionEngine() after the clash detection section, giving clash detect overall priority in movement detection. I also had to modify the if-else structure:
` // ************************ blade movement detection ************************************
/
* CLASH DETECTION :
* A clash is a violent deceleration when 2 blades hit each other
* For a realistic clash detection it's imperative to detect
* such a deceleration instantenously, which is only feasible
* using the motion interrupt feature of the MPU6050.
/
mpuIntStatus = mpu.getIntStatus();
if (mpuIntStatus > 60 and mpuIntStatus < 70 and not lockup) {
/
* THIS IS A CLASH !
*/
if (millis() - sndSuppress >= 100) {
blink = 0;
clash = CLASH_FLASH_TIME;
dfplayer.playPhysicalTrack(soundFont.getClash());
sndSuppress = millis();
}
getColor(currentColor, storage.clashColor);
lightOn(ledPins, currentColor);
getColor(currentColor, storage.clashColor);
lightOn(ledPins, currentColor);
Serial.print(F("CLASH\tmpuIntStatus="));
Serial.println(mpuIntStatus);
digitalWrite(BUZZMOTOR,HIGH); // switch on the buzz motor
}
/*
* SWING DETECTION
* We detect swings as hilt's orientation change
* since IMUs sucks at determining relative position in space
*/
else {
//Let's get our values !
motionEngine();
if ((millis() - sndSuppress >= SWING_SUPPRESS) and not lockup
and abs(quaternion.w) > storage.swingTreshold and aaWorld.z < 0
and abs(quaternion.z) < (9 / 2) * storage.swingTreshold
and (abs(quaternion.x) > 3 * storage.swingTreshold
or abs(quaternion.y) > 3 * storage.swingTreshold) // We don't want to treat blade Z axe rotations as a swing
)
if ((millis() - sndSuppress >= SWING_SUPPRESS)
and not lockup
and abs(quaternion.w) > storage.swingTreshold
and aaWorld.y < 0
and abs(quaternion.y) < (9 / 2) * storage.swingTreshold
and (abs(quaternion.x) > 3 * storage.swingTreshold
or abs(quaternion.z) > 3 * storage.swingTreshold) // We don't want to treat blade Y axe rotations as a swing
)
if ((millis() - sndSuppress >= SWING_SUPPRESS)
and not lockup
and abs(quaternion.w) > storage.swingTreshold
and aaWorld.x < 0
and abs(quaternion.x) < (9 / 2) * storage.swingTreshold
and (abs(quaternion.z) > 3 * storage.swingTreshold
or abs(quaternion.y) > 3 * storage.swingTreshold) // We don't want to treat blade X axe rotations as a swing
)
{
if (!blasterBlocks) {
/*
* THIS IS A SWING !
*/
Serial.print(F("SWING\ttime="));
Serial.print(millis() - sndSuppress);
Serial.print(F("\t"));
printAcceleration(aaWorld);
printQuaternion(quaternion, 1);
dfplayer.playPhysicalTrack(soundFont.getSwing());
sndSuppress = millis();
} else {
if (soundFont.getBlaster()) {
blasterPin = random(6); //momentary shut off one led segment
blink = 0;
getColor(currentColor, storage.clashColor);
lightOn(ledPins, currentColor);
blaster = BLASTER_FLASH_TIME;
// Some Soundfont may not have Blaster sounds
if (millis() - sndSuppress > 50) {
dfplayer.playPhysicalTrack(soundFont.getBlaster());
sndSuppress = millis();
}
}
}
}
else if ((millis() - sndSuppress >= SWING_SUPPRESS)
and not lockup
and abs(quaternion.w) > storage.swingTreshold
and (aaWorld.z > 0
and abs(quaternion.z) > (13 / 2) * WRIST_SENSIBILITY
and abs(quaternion.x) < 3 * storage.swingTreshold
and abs(quaternion.y) < 3 * storage.swingTreshold)) // We specifically treat blade Z axe rotations as a swing
else if ((millis() - sndSuppress >= SWING_SUPPRESS)
and not lockup
and abs(quaternion.w) > storage.swingTreshold
and (aaWorld.y > 0
and abs(quaternion.y) > (13 / 2) * WRIST_SENSIBILITY
and abs(quaternion.x) < 3 * storage.swingTreshold
and abs(quaternion.z) < 3 * storage.swingTreshold) ) // We specifically treat blade Z axe rotations as a swing
else if ((millis() - sndSuppress >= SWING_SUPPRESS)
and not lockup
and abs(quaternion.w) > storage.swingTreshold
and (aaWorld.x > 0
and abs(quaternion.x) > (13 / 2) * WRIST_SENSIBILITY
and abs(quaternion.z) < 3 * storage.swingTreshold
and abs(quaternion.y) < 3 * storage.swingTreshold)) // We specifically treat blade Z axe rotations as a swing
{
/*
* THIS IS A WRIST TWIST !
* The blade did rotate around its own axe
*/
if (soundFont.getWrist()) {
// Some Soundfont may not have Wrist sounds
Serial.print(F("WRIST\ttime="));
Serial.print(millis() - sndSuppress);
Serial.print(F("\t"));
printAcceleration(aaWorld);
printQuaternion(quaternion, 1);
dfplayer.playPhysicalTrack(soundFont.getWrist());
sndSuppress = millis();
}
}
else if (lockup) {
#ifdef NEOPIXELS
//Fire_Cooling=0;
//Fire_Sparking=20;
neopixels_parameterstransfer(150,50); //1: Fire_Cooling 2: Fire_Sparking
lightFlicker(LSPins, currentColor, 0);
digitalWrite(BUZZMOTOR,HIGH); // switch on the buzz motor
#endif
}
else if (blasterBlocks) {
digitalWrite(BUZZMOTOR,HIGH); // switch on the buzz motor
getColor(currentColor, storage.clashColor);
lightOn(ledPins, currentColor);
blasterBlocks=false;
}
else { // simply flicker
digitalWrite(BUZZMOTOR,LOW); // switch off the buzz motor
#ifdef NEOPIXELS
//Fire_Cooling=50;
//Fire_Sparking=100;
//Serial.println("Flicker if nothing else is happening");
neopixels_parameterstransfer(50,100); //1: Fire_Cooling 2: Fire_Sparking
lightFlicker(LSPins, currentColor, 0);
#endif
}
} //not a clash`
Ok so I tried my sabers out at my wedding and we had one break on me (physically) but the others worked until you either left them on for about 5 min or swung them around a lot (twirling)...if you left it on it would suddenly cut the audio but keep light on and you'd have to kill battery in order to fix it....with the swinging it would suddenly loop a small portion of audio and become unresponsive...likewise I had to cut battery and then it worked fine
I've encountered an issue where a sharp buzz will play from the speaker immediately after a non-soundfont audio file has played. This includes boot sounds, menu navigation files, and jukebox files. However, audio functions normally when the saber is in action mode. I've attached a video demonstrating the bug. NOTE: This is all happening over a USB connection. I have not yet moved to battery testing.
Video of issue (30 second clip): https://youtu.be/0jRbk4iWHkA
I'm running a slightly modified version of LSOS 1.3 (only lighting is modified) in a luxeon configuration. Hardware is standard: chinese clone nano, MPU6050, and DFPlayer. I'm also using the Arduino IDE (ver. 1.8.1, board ver. 1.6.11).
It's worth noting that this issue only popped up after I resolved a previous issue where no sound was being played AT ALL (DFPlayer red indicator LED was not lighting up). The Arduino IDE compiler told me there was a conflict between multiple instances of DFPlayer.h so I renamed the "DFPlayer" folder to "DFPlayerOLD" and elected to use "DFPlayer_LSOS" as the only library. It was only after this that I noticed the buzzing. As a sanity check, I removed both the "DFPlayerOLD" and "DFPlayer_Mini_Mp3" folders from the libraries folder, but that didn't change anything.
Any ideas as to what could be causing the issue and how to fix it?
EDIT:
I should note, all sound files have a sampling rate of either 44100 or 22050 Hz, and they are all 16-bit.
So when I power down, the neopixels still have lit leds on the some of the segments. How can I make sure they power off all the way, even if they suck juice.
1.5 lightsaber loading attempt, I use the arduino version 1.6.11
The skech loads well, without failure, but does not respond the arduino with the new program, does not emit start sound, nor does the power button work.
Hi,
This project is amazing, I'm testing out the code on breadboard.
When powering up, I can enter action mode fine, and also config mode.
Once in config mode, I can set all options, but when I long-press aux to save the changes, the voice says 'config mode' and then both buttons become unresponsive. I cannot return to action mode.
If I wait a while, I can sometimes return to config mode, but I can never leave.
What am I supposed to hear if the config save is successful?
Between playing with "my own colors" and the config menu, I managed to get my saber playing sounds and using the correct leds (2 blues 1 white Luxeon Cre). My issue is that the volume and main color and clash color is not saving. Every time I remove power, switch to usb, change code, upload, and reconnect my battery, the config is lost and i have to set it all again. Is this working as intended? I would like to have my settings permanent each time I charge my battery. Thank you again guys, youve been extremley helpful!!
So ive been working though troubleshoots for a while now. Im now at the point where ive even done my own PCB cause my old board drove me nuts. So far all is good, all connections are perfect and things are where they are meant to be.
I have an issue, I believe with, and most likely due to my accord, coding.
So im experiencing crackling, buzzing and incorrect sounds. I have all 5 sound fonts on. and checked their number count to the count on the soundconfig. I just cant figure it out. I looked at hardware and to my knowledge of software.
as lea has said in the past, with some slight rewording.
Help me community, your my only hope.
on a more serious note, if I need to attach anything give me a buzz.
I need help with my saber, but y dont speack english.
Hi` folks!!!!
sorry for the troubles but i try to compiling and upload the new LSOS 1.4 and the IDE send me this error:
C:\Users\XXXXX\Documents\Arduino\libraries\LightSaberOS\LightSaberOS.ino: In function 'void setup()':
LightSaberOS:267: error: 'class MPU6050' has no member named 'dmpInitialize_light'
devStatus = mpu.dmpInitialize_light(); // this is a ligter version of the above
^
'class MPU6050' has no member named 'dmpInitialize_light'
IDE 1.6.7
Generic Arduino Nano v3
by the way, this setup is working perfect with the LSOS 1.2 or 1.0.1 i don't remember ( XD
sorry for my bad)
thanks in advanced
So I took a look at the project and there is a red X nest to subdir.mk
when I click on Problems, I get a error I can highlight
@echo 'Building file: $<'
https://www.dropbox.com/s/lxbd7mcqcb7wxvw/Eclipse%20Error.png?dl=0
Have all parts and chassis, down to coding. I do not have required knowledge to program. I know from reading the forum that I need to add "#define LEDSTRING" or do I put "#define LUXEON"
Also I think I need to set the pins?
Really I just need to know what to change and where in order for LSOS to work with Luxeon Led.
hello?
I had a problem with arduino LighsaberOS that there are "error compiling", how do I solve the problem
Thanks
Hi,
It's probrobly me not figuring out something. the LED's that aren't meant to be on are on, and LED's stay on when the Saber is turned off. What would be causing this?
Is it possible to modify the code so you could use the double-click features of the OneButton library so you'd only need one button to operate LSOS?
Hi,
first of all I want to thank you so much for this awesome resource, your making a dream of mine come true.
On the business end I want to make sure im correct in doing this and then ask my questions.
Setup wise I have altered the config.h file and made #define LUXEON un commented and commented the other 2. I have left the color stuff as I assume that the "48" colors means 48 different colors picked evenly throughout the spectrum.
I have gotten to the MAX_BRIGHTNESS and for obious reasons its my concern as I don't want to burn any LED's. `/* MAX_BRIGHTNESS
*
last question is with your diagram and the transistors, your diagram has all transistors leading to a board labeled BLADE MALE, and you show only one LED attached. @pin 8 of the BLADE MALE is the voltage input that goes though the LED, and then to the transistor. In my case I would run all the Vin's to the LED's of the luxeon star from pin 8 and then the - of the leds to the transistors of pins 3,5,6 @the arduino.
If I need to clarify anything please tell me, my explanations can be a but fluffy
Hello, and congratulation for this work with LSOS !!!
I have a problem, with the sound font aparently.
I'll connected every wire, with the squematic, acording to Andras Kun (aka protonert).
Aparently everything works fine, but when i start the blade, the leds flashing but the sound, stay in static and no hear any more.
i thing the problem are in with the wav sound, because, the mp3 for the config mode are played without a problem.
p.d: sorry for my bad english i hope you understand my redaction without a problem.
Best Regards.
This is not an issue, it could be a growing library of high quality sound fonts that I use my self or recommend. This is not my work, just some amazing fonts for people to use.
There are 7 Very high quality sound fonts here, and available in .wav format!! the fonts will need to be reorganized, but all of them are top notch and high quality, currently the only ones I use.
http://www.saberforum.com/index.php?topic=33475.0
Saber sounds used on US sabers, you will need to get a LSU converter to WAV, easy to find.
http://www.saberforum.com/index.php?topic=3314.0
I'm confused with eclipse, it seems v2.2 is the only one with x64. It does not seem to have the option you mentioned in the arduino section. Also which arduino version is recommended as it complains that mine is newer than the version of eclipse or is this a non-issue?
Edit:
N/m I thhink I did not scroll far enough.
In the Lightsaberos-master I don't see he main loop, Shouldn't there be a LightSaberOS.cpp generated by the project that has the basic setup in and loop? LightSaberOS-Master has Light, ConFigMenu and Buttons.
Somehow the same sketches which worked all right before fail to play sounds if compiled with the 1.6.10 version, although compilation passes. I checked, not a hardware problem. With 1.6.4 it still works fine,
Does the code absolutely have to use Pin 2 (Interrupt 0) or is there a way to have it use Pin 3 (Interrupt 1)? I know you said that other libraries it's dependent on use the interrupt, but are they hardcoding Interrupt 0 or can we set them to Interrupt 1?
Hi, this is not a issue, but i'd like to ask you if it's possible run this sketch on a atmega328p stand alone, because i just tried and it didn't worked, do you know if there are some issues with the internal oscillator at 8MHz?
http://subefotos.com/ver/?d140df178fe03f9871018cbc53592d14o.jpg
In this position taking into account that the usb will be in the bottom of the handle of the sword which position is
Get effect, connections would be these in the lightsaber os 1.4 with arduino nano v3.
In case of being, when increase of sound, in other tests that realize with the lightsaber os master, with a led believes, when increase the volume increases the effect. You can get a less noticeable effect when you still sound.
Apparently works well the dfplayer fed directly 5v from the arduino, but e read that you have to feed from the battery 5v,
That way it sounds louder or something like that.?
In the project that I'm using I'll use neopixel led strip, I must feed it to the same 5v connector of the led strip, or I still connect it with the 5v of the arduino.
The default setting when leaving "#define SINGLEBUTTON" causes LSOS to be single button mode. When uncommenting, it gives a compile error at "Buttons.cpp" at line 260 "void mainLongPress() {".
It gives the error message:
exit status 1
a function-definition is not allowed here before '{' token
=======================================================
I'm trying to use the aux button function because it has the lock-up sound bug fixed.
Also, how do you go down in the menu in LSOS 1.4? I tried to turn the volume down, but the only option was to go louder. I had to change it back to LSOS 1.3 to turn it down.
After having uploaded the code the board, when connecting the DFplayer, a buzzing/crackling sound is playing, once connected it stops. It can occur in opperations when using the saber, ive been at it for a while, from when I had no sound, to where I can get most sounds playing. If it helps, the buzzing/crackling/static happens when I power up to volume 21, it can occur, I don't even get the beep, just static, to the point where I think the player crashes and plays no sound.
Another issue I have is no swing sounds, not sure if the accelerometer is even picking them up. I know clash works as that plays.
Hope you can help resolve this. Currenty using LSOS 1.3
I can't figure out the correct way to enable the accent led. I uncomment the #define ACCENT_LED line and hook the led line to A2 and I still get nothing.
Also, how do I disable the low power warning? I want to use this with a 3.7V battery setup.
I set my neopixel count to 144. I want it to light up faster to match up with the ignition sound.
Have you seen Proto's DIYino and if so, do you know what special steps are needed to program it with LSOS? I just received 6 boards and want to use them if I can.
Looking for some assistance in troubleshooting my diyino and LSOS. I have a single LED luxeon wired to LS1, using a 3.7V lion battery with 5vdc regulator to the 5v pin, two buttons to D4 and D12, 4ohm speaker on spk1 and spk2. I compiled and loaded the LSOS 1.4 configured for two buttons. When I connect the power I see the lights on the board, hear a startup sound for second or so, and the saber light starts to pulse. It continues to pulse the light, but pressing the buttons does nothing. I've checked my soldering job several times, the buttons are working correctly according to my multimeter. Don't know if I have a software or hardware issue.
I wired up the sketch on my arduino pro mini and it worked in the mockup, but then I needed to put the main button on pin 3. I got everything wired and it will boot up and the secondary button works, but the main one won't. I went back and checked the wiring and still can't figure it out.
When selecting sound fonts in the "sound font" config menu, OS locks up and becomes unresponsive. If the serial connection is open, the saber will reboot.
Additionally, only two different clashes (first two of six) are played no matter what. This is a recurring issue even after the nano is reset. Happens in both action mode and blaster block mode. All other sounds (ignitions, retractions, swings, lockups, blaster deflections) are randomized.
EDIT: Upon further observation, swings also experience the randomness bug.
Hi,
I have the latest release from June 20, 2016 and I am still experience some difficulties. the saber is perfectly happy in standby and config mode. However, once Action mode is entered the Saber will freeze - this happens randomly between 10 and 60 seconds. Any thoughts or help would be greatly appreciated!
Thanks
As the title says, I've encountered a config mode bug in which the min / max audio files are played when changing menus after a modification has been made to the previous menu.
EXAMPLE:
-I'm currently in the "VOL" menu and my current volume is 15.
-I increase the volume +5 to 20 by clicking the main button five times, but I have not hit the maximum volume yet (30). Ergo, the "max" audio does not trigger.
-I change menus by holding the main button.
-The LEDs change to indicate I am now in "blade color" menu, but the female announcer audio for "blade color" does not play. Instead I hear either the "min" or "max" sounds (tracks 10 and 11 in the CONFIG folder).
This only happens if I modify the settings within each menu and not when I skip directly from menu to menu. (i.e., it happens when I'm modifying volume or something and NOT when I switch from SNDFNT->VOL->BLADE COLOR). It happens fairly consistently in the volume menu, but also occasionally pops up when modifying the color menus too.
I've verified that all my files have been copied over to the SD card correctly (audio is fine everywhere else), and that Soundfont.h reflects the contents of my SD card.
Running on LSOS 1.3 in luxeon configuration, chinese nano clone, MPU6050, and DFPlayer. Using Arduino IDE v1.8.1 with board manager 1.6.11.
Any thoughts?
Using Arduino IDE v1.6.5-r5. LSOS is unable to start; serial monitor indicates that setup stops at DFPlayer connection and loops repeatedly. A repeated pop from the speaker is audible and the following output is shown on the monitor:
L01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��L01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��˜01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��˜01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��L01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��L01
Connecting to DFPlayer...
Connected to DFPlayer !
�Á�²�¥��
TX light also flashes continuously.
I've wired a momentary switch for the main switch, and when it connects to ground, nothing happens at all. It grounds pin D12, like it shows in the wiring diagram. I've got this on a breadboard right now. When I connect the power, I get a hiss sound out of the speaker, but that's all. Come to think of it, I don't get anything either when I ground the aux switch. Have I wired something incorrectly?
When the saber is powered on and left for a random amount of time, the critical battery alert plays and repeats. LS_INFO shows that the saber is alternating between powersave/normal mode continuously. This only occurs when the saber is in ACTION mode. Current set up is connection/power via USB. Untested with battery.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.