|
Post by profezzorn on Sept 20, 2019 10:47:01 GMT -5
Deep sleep is generally the ability to draw little enough current that you don't need a separate power switch or kill key for your saber. Generally, deep sleep happens automatically after some idle time. For some boards, deep sleep is implemented in a way where the board turns off, so when you push the power next, the board first has to boot before you can ignite the blade. For ProffieOS, deep sleep is actually implemented as standby, the board never turns off, it just reduces clock speed until power usage is very very low. Currently, the caveat is that if you have a crystal chamber or something that is on while the blade is off, the board won't really reach those very low power modes, and you still need a way to cut the power. The fix for this is to have a global define for idle time, and once the idle time is reached, everything gets turned off. On the V2 proffieboards, deep sleep should work even better, as it has the ability to cut the power to the SD card. On a V1.5, deep sleep already works quite well, but it depends on the standby power of the SD card. Ah, ok great. So I am building a Korbanth DM1, and no crystal chamber will be used to keep power on, so I'm good, right? The V2 proffieboard will just cut power after idle time? I am still gonna utilize a recharge port for quick in-hilt charging, so I guess I don't really need a kill key if deep sleep works right? That's good, one less item to buy from TCSS I recommend getting a kill key. Not for storage, but as a way to keep the power off while you are doing stuff with the wiring. Its much easier to accidentally destroy some component if the power is on while you are working on it.
|
|
|
Post by ridirefirean on Sept 28, 2019 13:50:38 GMT -5
Hey profezzorn ! The .svg image on this page... fredrik.hubbe.net/lightsaber/v5/index.html...shows "Data1 / ID" as pin "(16)", and "Data2" as pin"(16)". Do you know which one is pin 16, and what pin the other one is supposed to be? Unless they're supposed to be the same? The v2 config file here...https://github.com/profezzorn/ProffieOS/blob/master/config/proffieboard_v2_config.h ...says... "bladePowerPin10 = 16, // PA00 (also blade ID / neopixels)" ...but I don't know which pad "PA00" is.
|
|
|
Post by silantstrike on Sept 29, 2019 6:17:40 GMT -5
Hey profezzorn ! The .svg image on this page... fredrik.hubbe.net/lightsaber/v5/index.html...shows "Data1 / ID" as pin "(16)", and "Data2" as pin"(16)". Do you know which one is pin 16, and what pin the other one is supposed to be? Unless they're supposed to be the same? The v2 config file here...https://github.com/profezzorn/ProffieOS/blob/master/config/proffieboard_v2_config.h ...says... "bladePowerPin10 = 16, // PA00 (also blade ID / neopixels)" ...but I don't know which pad "PA00" is. For proffieboard v2, you can find the information in config/proffieboard_v2_config.h. The answer is that data2 is pin 1, the diagram is likely wrong
// Neopixel pins bladePin = 16, // blade control, either WS2811 or PWM PA0 bladeIdentifyPin = 16, // blade identify input / FoC blade2Pin = 1, // PB10 blade3Pin = 17, // PA4 blade4Pin = 0, // PB3 blade5Pin = 8, // PA15 (also UART) blade6Pin = 9, // PA02 (also UART) <style></style><style></style>
|
|
|
Post by profezzorn on Sept 29, 2019 12:13:19 GMT -5
Hey profezzorn ! The .svg image on this page... fredrik.hubbe.net/lightsaber/v5/index.html...shows "Data1 / ID" as pin "(16)", and "Data2" as pin"(16)". Do you know which one is pin 16, and what pin the other one is supposed to be? Unless they're supposed to be the same? The v2 config file here...https://github.com/profezzorn/ProffieOS/blob/master/config/proffieboard_v2_config.h ...says... "bladePowerPin10 = 16, // PA00 (also blade ID / neopixels)" ...but I don't know which pad "PA00" is. For proffieboard v2, you can find the information in config/proffieboard_v2_config.h. The answer is that data2 is pin 1, the diagram is likely wrong
// Neopixel pins bladePin = 16, // blade control, either WS2811 or PWM PA0 bladeIdentifyPin = 16, // blade identify input / FoC blade2Pin = 1, // PB10 blade3Pin = 17, // PA4 blade4Pin = 0, // PB3 blade5Pin = 8, // PA15 (also UART) blade6Pin = 9, // PA02 (also UART) <style></style><style></style> You are correct, the diagram is wrong. Not that it matters terribly for most people as the will use the assigned names for the pins instead of the pins numbers directly. I will fix the diagram later today.
|
|
|
Post by profezzorn on Sept 29, 2019 12:20:54 GMT -5
For proffieboard v2, you can find the information in config/proffieboard_v2_config.h. The answer is that data2 is pin 1, the diagram is likely wrong
// Neopixel pins bladePin = 16, // blade control, either WS2811 or PWM PA0 bladeIdentifyPin = 16, // blade identify input / FoC blade2Pin = 1, // PB10 blade3Pin = 17, // PA4 blade4Pin = 0, // PB3 blade5Pin = 8, // PA15 (also UART) blade6Pin = 9, // PA02 (also UART) <style></style><style></style> You are correct, the diagram is wrong. Not that it matters terribly for most people as the will use the assigned names for the pins instead of the pins numbers directly. I will fix the diagram later today. ... or now
|
|
|
Post by ridirefirean on Sept 29, 2019 16:20:13 GMT -5
Thanks silantstrike and profezzorn ! The v1.5 was easier for me to figure out because of all the notes in the writeup. But all the different names are still confusing to me on the v2.2. Trying to figure out which one's which between names on the 3D image, the actual photos of the v2.2board and the namings on the different v2 config files was overwhelming and I've been writing all the different names for the locations from several writeups/images on a printout of the 3D image to help me make sense of it all. I appreciate you both pointing me in the correct direction. I have the new image printed and new notation has begun!  Now if I can just figure out time code! This is being used as time code correct?... pulse_millis_.run(base); uint32_t now = micros(); uint32_t delta = now - last_micros_; last_micros_ = now; pos_ = fract(pos_ + delta / (1000.0 * pulse_millis_.getInteger(0))); The uint32_t is use for calling a specific point in time? And this is being used as time code in a different way?... void run(BladeBase* base) { if (millis() == millis_at_last_call_) return; millis_at_last_call_ = millis(); n_++; if (n_ >= 3) n_ = 0; } I keep checking the v2.2 Configurator for a 4 LED "blade" that can be used for accent LEDs.  O.K. off to get some dinner and let my mind absorb and relax before diving back into some more code reading, Thanks Again!
|
|
|
Post by profezzorn on Sept 29, 2019 16:43:04 GMT -5
Thanks silantstrike and profezzorn ! The v1.5 was easier for me to figure out because of all the notes in the writeup. But all the different names are still confusing to me on the v2.2. Trying to figure out which one's which between names on the 3D image, the actual photos of the v2.2board and the namings on the different v2 config files was overwhelming and I've been writing all the different names for the locations from several writeups/images on a printout of the 3D image to help me make sense of it all. I appreciate you both pointing me in the correct direction. I have the new image printed and new notation has begun!  Now if I can just figure out time code! This is being used as time code correct?... pulse_millis_.run(base); uint32_t now = micros(); uint32_t delta = now - last_micros_; last_micros_ = now; pos_ = fract(pos_ + delta / (1000.0 * pulse_millis_.getInteger(0))); The uint32_t is use for calling a specific point in time? And this is being used as time code in a different way?... void run(BladeBase* base) { if (millis() == millis_at_last_call_) return; millis_at_last_call_ = millis(); n_++; if (n_ >= 3) n_ = 0; } I keep checking the v2.2 Configurator for a 4 LED "blade" that can be used for accent LEDs.  O.K. off to get some dinner and let my mind absorb and relax before diving back into some more code reading, Thanks Again! just copy the RGBW led star configuration and modify the power pins.. Note that you'll need 4 out of the 6 LED pads for accents, which only leaves two for the main blade. Your questions about the timing code are too generic to answer properly. If you want help with coding aspects, I suggest starting a new thread and ask more specific questions.
|
|
|
Post by ridirefirean on Sept 30, 2019 9:03:07 GMT -5
just copy the RGBW led star configuration and modify the power pins.. Note that you'll need 4 out of the 6 LED pads for accents, which only leaves two for the main blade. Wait, what?!  I'm still waking up and I have a splitting headache today, so please bear with me... I thought we could repurpose the Data1,2,3,5 for accent LEDs on the v1.5 if we used LEDs for the main blade, is that not still true on the v2.2? I'm planning to run: - a RGB Tri-Cree Star for the main blade (LED1,LED2,LED3), - a RGB LED or 3 SMD LEDs for a Crystal Chamber (LED4,LED5,LED6), - and four 0804 SMD LEDs for the accents (Data1, Data2, Data3, Data5). I thought that was doable. Please advise!
|
|
|
Post by profezzorn on Sept 30, 2019 12:41:34 GMT -5
just copy the RGBW led star configuration and modify the power pins.. Note that you'll need 4 out of the 6 LED pads for accents, which only leaves two for the main blade. Wait, what?!  I'm still waking up and I have a splitting headache today, so please bear with me... I thought we could repurpose the Data1,2,3,5 for accent LEDs on the v1.5 if we used LEDs for the main blade, is that not still true on the v2.2? I'm planning to run: - a RGB Tri-Cree Star for the main blade (LED1,LED2,LED3), - a RGB LED or 3 SMD LEDs for a Crystal Chamber (LED4,LED5,LED6), - and four 0804 SMD LEDs for the accents (Data1, Data2, Data3, Data5). I thought that was doable. Please advise! Ah, now that I know what you actually want, I can help better! First the bad news: First of all; on the proffieboard V2, there is no "Data5" pad, so that won't really work. Data3 is not PWM capable. (Looks like my webpage has this wrong...) Data1 is PWM capable, it has a 470 ohm resistor on it, which means that any LED you hook up to it is going to be fairly dim. Now the good news: Data4 *is* PWM capable. RX and TX are also PWM capable, so unless you were planning to use the serial port for something, you can still do what you want. So, your accent leds would be hooked up to: Data2, Data4, RX, TX Now, depending on how your accent leds are arranged, you can either configure them as.... ...a single-pixel blade with four channels. The drawback of doing this is that blade styles only have three channels (Red, Green, Blue) so you can't have full control over each individual LED. ...a single blade with 4 pixels. This makes a lot of sense if they are the same color and arranged in a row. Might make sense even if they are not. ...four individual single-color single-pixel blades, this gives a lot of control, but is also the most effort to configure as each blade will require it's own style.
|
|
|
Post by profezzorn on Sept 30, 2019 12:45:37 GMT -5
I really should implement serial-port driven neopixels driving for proffieboards. (I have a serial port neopixel driver for teensysabers) That would make it possible to use one line of neopixels and still use these other pins for driving accent LEDs. 
|
|
|
Post by silantstrike on Nov 24, 2019 8:15:51 GMT -5
Hi Profezzorn, Do you have a Proffieboard V2 stl or obj file, please ? Thanks  Not yet. The size is generally the same as a V1 board, except the SD card sticks out about 2.5 mm more. Any word on an STL or modeling file for chassis design purposes? <style></style>
|
|
|
Post by tahoebuild on Feb 7, 2020 18:53:20 GMT -5
Does this board allow you to have two LEDs for the switch box as I have the luke hero saber and would like to have the green and red lights work? I will have the crystal reveal LED and the Neopixal blade setup
|
|
|
Post by profezzorn on Feb 7, 2020 19:02:01 GMT -5
Does this board allow you to have two LEDs for the switch box as I have the luke hero saber and would like to have the green and red lights work? I will have the crystal reveal LED and the Neopixal blade setup yes
|
|
|
Post by tahoebuild on Feb 7, 2020 19:43:57 GMT -5
|
|
|
Post by profezzorn on Feb 7, 2020 19:58:47 GMT -5
True, but the config generator only supports a tiny fraction of all possible things.
|
|
|
Post by tahoebuild on Feb 7, 2020 22:24:08 GMT -5
Ok I'm just learning so I guess I need to do a little more research
|
|
|
Post by tahoebuild on Feb 7, 2020 22:37:07 GMT -5
Any help would be greatly appreciated as it would be cool to see those lights working
|
|
|
Post by profezzorn on Feb 8, 2020 15:34:59 GMT -5
Any help would be greatly appreciated as it would be cool to see those lights working I don't have a finished config to give you right now, maybe someone else does. In general, what you need to do is to use the configuration generator, select the single-led crystal chamber, and pay attention to how the config file changes when you do that. Basically three things will change: 1. NUM_BLADES will change 2. Every preset will have an extra style 3. You'll have a new entry in the blade array. Now, if you just do all those steps one more time, you'll have two controllable leds. Really the only tricky part is that the entry in the blade array will need to use a different pad. GIve it a try, if it doesn't work, post what you have so far and we'll sort it out.
|
|
|
Post by rdrza on Feb 8, 2020 16:52:51 GMT -5
Hi, new here so not really sure if this is the appropriate space to ask this but, is it possible to utilize the Neopixel blade as a bluetooth status light? I know battery status is possible, so I was wondering if bluetooth could work in the same manner (flashing for searching, solid blue for connected, etc.)
Thanks!
|
|
|
Post by profezzorn on Feb 8, 2020 17:09:35 GMT -5
Hi, new here so not really sure if this is the appropriate space to ask this but, is it possible to utilize the Neopixel blade as a bluetooth status light? I know battery status is possible, so I was wondering if bluetooth could work in the same manner (flashing for searching, solid blue for connected, etc.) Thanks! It's not supported. I don't know if it is even possible. The BT module would need to tell the board what it's doing, which is currently not a thing as far as I know.
|
|
|
Post by rdrza on Feb 8, 2020 19:59:38 GMT -5
Hi, new here so not really sure if this is the appropriate space to ask this but, is it possible to utilize the Neopixel blade as a bluetooth status light? I know battery status is possible, so I was wondering if bluetooth could work in the same manner (flashing for searching, solid blue for connected, etc.) Thanks! It's not supported. I don't know if it is even possible. The BT module would need to tell the board what it's doing, which is currently not a thing as far as I know. Hmm interesting, ok! You would think that since the Bluetooth module is controlling the board the necessary info would be be passed along, but I’m no developer. Thanks for your help!
|
|
|
Post by silantstrike on Feb 8, 2020 21:07:05 GMT -5
i think the difference is that the BT module has its own pads for turning a light on and turning a light off, or what you refer to as (flashing for searching, solid blue for connected, etc.)
To make a pixel turn on and turn off takes a different technology then basically a light switch
|
|
|
Post by rdrza on Feb 8, 2020 21:18:39 GMT -5
i think the difference is that the BT module has its own pads for turning a light on and turning a light off, or what you refer to as (flashing for searching, solid blue for connected, etc.) To make a pixel turn on and turn off takes a different technology then basically a light switch Ah I get it. Totally forgot the BT modules have their own dedicated pads for indicator lighting. Makes sense. Maybe some day down the line. Would be cool to have Bluetooth indicators baked into the blade itself, or even something like a Shtok neopixel connector.
|
|