Coder Social home page Coder Social logo

lightsaberos's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightsaberos's Issues

Wrong soundfile order?

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

MPU6050 clash detection works but no clue why...?

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

LUXEON CODE error

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);

Not able to build in Eclipse

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)

A bit confused with OS uploading...

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

Compile error

Hi, is it possible use this code with just the atmega328p ?

Sound files corrupted

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.

Single Ignition/Retraction Issue

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.

LSOS v1.2 can't verify sketch

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.
`

Luxeon cre LED

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.

Settings Correction for Neopixel

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?

motionEngine() preceding interrupt polling for clash detection

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();
}

ifdef LUXEON

        getColor(currentColor, storage.clashColor);
        lightOn(ledPins, currentColor);

endif

ifdef NEOPIXELS

        getColor(currentColor, storage.clashColor);
        lightOn(ledPins, currentColor);

endif

ifdef LS_CLASH_DEBUG

        Serial.print(F("CLASH\tmpuIntStatus="));
        Serial.println(mpuIntStatus);

endif

                    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();

ifdef BLADE_Z

      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
            )

endif

ifdef BLADE_Y

          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
            )

endif

ifdef BLADE_X

      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
            )

endif

            {

        if (!blasterBlocks) {
            /*
             *  THIS IS A SWING !
             */

ifdef LS_SWING_DEBUG

            Serial.print(F("SWING\ttime="));
            Serial.print(millis() - sndSuppress);
            Serial.print(F("\t"));
            printAcceleration(aaWorld);
            printQuaternion(quaternion, 1);

endif

            dfplayer.playPhysicalTrack(soundFont.getSwing());
            sndSuppress = millis();
        } else {
            if (soundFont.getBlaster()) {

ifdef LEDSTRINGS

                blasterPin = random(6); //momentary shut off one led segment
                blink = 0;

endif

ifdef LUXEON

                getColor(currentColor, storage.clashColor);
                lightOn(ledPins, currentColor);

endif

                blaster = BLASTER_FLASH_TIME;
                // Some Soundfont may not have Blaster sounds
                if (millis() - sndSuppress > 50) {
                    dfplayer.playPhysicalTrack(soundFont.getBlaster());
                    sndSuppress = millis();
                }
            }
        }
    }

ifdef WRIST_MOVEMENTS

ifdef BLADE_Z

    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

endif

ifdef BLADE_Y

    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

endif

ifdef BLADE_X

    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

endif

    {
        /*
         *  THIS IS A WRIST TWIST !
         *  The blade did rotate around its own axe
         */

        if (soundFont.getWrist()) {
            // Some Soundfont may not have Wrist sounds

ifdef LS_SWING_DEBUG

            Serial.print(F("WRIST\ttime="));
            Serial.print(millis() - sndSuppress);
            Serial.print(F("\t"));
            printAcceleration(aaWorld);
            printQuaternion(quaternion, 1);

endif

            dfplayer.playPhysicalTrack(soundFont.getWrist());
            sndSuppress = millis();
        }

    }

endif

            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
            }

ifdef BLASTERCLICKTRIGGER

            else if (blasterBlocks) {
                    digitalWrite(BUZZMOTOR,HIGH); // switch on the buzz motor

ifdef NEOPIXELS

        getColor(currentColor, storage.clashColor);
        lightOn(ledPins, currentColor);
                    blasterBlocks=false;

endif

            }

endif

            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`

Saber locks up with too much interrupt

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

Sharp buzz after playing menu sound files

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.

Neopixel blade won't turn off

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.

test lightsaber os 1.5

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.

After Configuring, can't return to stand-by/action mode

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?

Config not saving to eeprom

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!!

Swing Detection Issue

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.

Compiling Problems

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

Luxeon

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.

Error Compiling?

hello?
I had a problem with arduino LighsaberOS that there are "error compiling", how do I solve the problem

Thanks

LED's staying on

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?

Single Button Version

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?

Errors with eclipse

Hello!
I opened the OS in eclipse and it has errors...many of them say "type uint16_t could not be resolved" etc. What should I do?

eclipse errors

Max_BRIGHTNESS and Transistors

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
*

  • Maximum output voltage to apply to LEDS
  • Default = 100 (39,2%) Max=255 Min=0(Off)
    *
  • WARNING ! A too high value may burn
  • your leds. Please make your maths !
  • BE VERY CAREFULL WITH THIS ONE OR
  • YOU'LL BURN YOUR BLADE'S LED
    ************************************/
    #define MAX_BRIGHTNESS 100
    `
    I don't know that the 39,2% is. and with 255 being the max, can I assume that is 100% of my batteries power (being 7.4v). If using the luxeon star, my red LED will have a max voltage of around 3.3, therefore I would want about 2.9volts to each pin. this being around 40% of total voltage, ill need MAX_BRIGHTNESS 99. I can then leave MAX_BRIGHTNESS at 100?

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

Wav Sound Problems

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.

Amazing Free Sound Font Link

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

Eclipse

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.

Interrupt Pin

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?

Atmega328p

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?

Lightsaber os 1.4 imu orientation , Blade effects, dfplayer fed

  1. Determine IMU orientation,

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

  1. speaker + --to -- a1,,, speaker -to-- a0

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.

  1. Direct feeding 5v from arduino to modulo dfplayer,

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.

Can't uncomment "#define SINGLEBUTTON" in LSOS 1.4. I want to use aux button.

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.

Buzzing sound

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

Power Alert and Accent

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.

DIYino programming

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.

Trouble with lsos 1.4 or the diyino?

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.

Main Button 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.

OS locks up when selecting sound font in config mode & clash randomness issues (Arduino nano CH340G clone)

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.

Saber freezes while in action mode

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

Config Menu Wrong Audio Being Played When Switching Menus After Modification

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?

LSOS 1.2.2 on Arduino clone unable to connect to DFPlayer

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.

Nothing happens pressing main switch

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?

Rapid switching between powersave/normal mode

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.