kay-lpzw / TRAM8

0 stars 2 forks source link

Can Firmware changes be reversed. #1

Closed thorinf closed 6 months ago

thorinf commented 6 months ago

Hi,

Just wanted to check if firmware changes can be reversed at all, or if I were to flash something bad would I brick it?

Thanks

kay-lpzw commented 6 months ago

The bootloader is protected (it doesn’t allow to write to bootloader area) so it will always be possible to boot not BL mode and flash a working FW. You could also program via SPI then you are on your own tho, the bootloader will be gone. I could upload the .elf file tho

On 21. Apr 2024, at 00:26, Thorin Farnsworth @.***> wrote:

Hi,

Just wanted to check if firmware changes can be reversed at all, or if I were to flash something bad would I brick it?

Thanks

— Reply to this email directly, view it on GitHub https://github.com/kay-lpzw/TRAM8/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARXPBZSPBGAGA5S5RXUPQP3Y6LTQNAVCNFSM6AAAAABGQ2I3OWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2TINZUGQZTOMQ. You are receiving this because you are subscribed to this thread.

thorinf commented 6 months ago

Thanks

thorinf commented 6 months ago

HelloWorld working, and not bricked - I flashed it back to stock. Thanks for the hex2syx script.

#define F_CPU 16000000UL // Define the CPU frequency
#define BAUD 31250UL // Define the MIDI baud rate

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB |= (1 << PC0); // Set PC0 as an output pin

    while (1) 
    {
        PORTB ^= (1 << PC0); // Toggle PC0
        _delay_ms(100); // Wait for 1000 milliseconds
    }
}

https://github.com/kay-lpzw/TRAM8/assets/91201457/58707d1e-3079-4c76-bca3-cf104e64c344

thorinf commented 5 months ago

I've managed to get some pitch tracking working, it'll be within the Experiments section of my fork shortly.

I did an initial Python script which quantises desired pitch-voltage to what the DAC is capable of (assuming 5v max):

Noteon:   0, Nearest: 0.000, Cents: 0.00000
Noteon:   1, Nearest: 0.996, Cents: -0.36630
Noteon:   2, Nearest: 1.993, Cents: -0.73260
Noteon:   3, Nearest: 3.004, Cents: 0.36630
Noteon:   4, Nearest: 4.000, Cents: 0.00000
Noteon:   5, Nearest: 4.996, Cents: -0.36630
Noteon:   6, Nearest: 6.007, Cents: 0.73260
Noteon:   7, Nearest: 7.004, Cents: 0.36630
Noteon:   8, Nearest: 8.000, Cents: 0.00000
Noteon:   9, Nearest: 8.996, Cents: -0.36630
Noteon:  10, Nearest: 9.993, Cents: -0.73260
Noteon:  11, Nearest: 11.004, Cents: 0.36630
Noteon:  12, Nearest: 12.000, Cents: 0.00000
Noteon:  13, Nearest: 12.996, Cents: -0.36630
Noteon:  14, Nearest: 14.007, Cents: 0.73260
Noteon:  15, Nearest: 15.004, Cents: 0.36630
Noteon:  16, Nearest: 16.000, Cents: 0.00000
Noteon:  17, Nearest: 16.996, Cents: -0.36630
Noteon:  18, Nearest: 17.993, Cents: -0.73260
Noteon:  19, Nearest: 19.004, Cents: 0.36630
Noteon:  20, Nearest: 20.000, Cents: 0.00000
Noteon:  21, Nearest: 20.996, Cents: -0.36630
Noteon:  22, Nearest: 22.007, Cents: 0.73260
Noteon:  23, Nearest: 23.004, Cents: 0.36630
Noteon:  24, Nearest: 24.000, Cents: 0.00000

and so on...

Given the 5v max, it can only cover 5 octaves. But I think that's fairly good.

I will try to extend this further for the BeatStep Pro with 6 Triggers and 2 Sequencers for the Gates, and 6 Velocity and 2 Pitch for CV.

Then I'll work on extending to MIDI2, EEPROM and MIDI Learn functionality.

https://github.com/kay-lpzw/TRAM8/assets/91201457/4dbcd455-b367-467c-9020-2dc23fe8c32d

kay-lpzw commented 5 months ago

Great! That looks really promising! I need to double check but I believe that we can actually get around 8v out cos there is an analog gain and we can set the reference voltage of the DAC higher. On 17. May 2024, at 18:39, Thorin Farnsworth @.***> wrote: I've managed to get some pitch tracking working, it'll be within the Experiments section of my fork. I did an initial Python script which quantises desired pitch-voltage to what the DAC is capable of (assuming 5v max): Noteon: 0, Nearest: 0.000, Cents: 0.00000 Noteon: 1, Nearest: 0.996, Cents: -0.36630 Noteon: 2, Nearest: 1.993, Cents: -0.73260 Noteon: 3, Nearest: 3.004, Cents: 0.36630 Noteon: 4, Nearest: 4.000, Cents: 0.00000 Noteon: 5, Nearest: 4.996, Cents: -0.36630 Noteon: 6, Nearest: 6.007, Cents: 0.73260 Noteon: 7, Nearest: 7.004, Cents: 0.36630 Noteon: 8, Nearest: 8.000, Cents: 0.00000 Noteon: 9, Nearest: 8.996, Cents: -0.36630 Noteon: 10, Nearest: 9.993, Cents: -0.73260 Noteon: 11, Nearest: 11.004, Cents: 0.36630 Noteon: 12, Nearest: 12.000, Cents: 0.00000 Noteon: 13, Nearest: 12.996, Cents: -0.36630 Noteon: 14, Nearest: 14.007, Cents: 0.73260 Noteon: 15, Nearest: 15.004, Cents: 0.36630 Noteon: 16, Nearest: 16.000, Cents: 0.00000 Noteon: 17, Nearest: 16.996, Cents: -0.36630 Noteon: 18, Nearest: 17.993, Cents: -0.73260 Noteon: 19, Nearest: 19.004, Cents: 0.36630 Noteon: 20, Nearest: 20.000, Cents: 0.00000 Noteon: 21, Nearest: 20.996, Cents: -0.36630 Noteon: 22, Nearest: 22.007, Cents: 0.73260 Noteon: 23, Nearest: 23.004, Cents: 0.36630 Noteon: 24, Nearest: 24.000, Cents: 0.00000

and so on... Given the 5v max, it can only cover 5 octaves. But I think that's fairly good. I will try to extend this further for the BeatStep Pro with 6 Triggers and 2 Sequencers for the Gates, and 6 Velocity and 2 CV. Then I'll work on extending to MIDI2, EEPROM and MIDI Learn functionality. https://github.com/kay-lpzw/TRAM8/assets/91201457/4dbcd455-b367-467c-9020-2dc23fe8c32d

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

thorinf commented 5 months ago

Ok great. Covers up to 97 notes now, getting about -1.17 cents as maximum detune. I will try an optimisation script, maybe by biasing the target voltages by a constant the mean error across the notes can be reduced at the price of losing 1 note.

I think I'll add a step sequencer to the experiments list too. Might be possible to store some pitch values from MIDI into memory, then cycle through them with drum pads (plus reset pads). Would be really cool for techno, if the atmgega8 can handle it.

kay-lpzw commented 1 month ago

Hi ThorinI haven’t had the time to check your stuff yet. It looks like you worked a lot. I will try to find time in October. KOn 21. Apr 2024, at 00:26, Thorin Farnsworth @.***> wrote: Hi, Just wanted to check if firmware changes can be reversed at all, or if I were to flash something bad would I brick it? Thanks

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

thorinf commented 1 month ago

Yeah no worries. I've just been having fun learning more C, sorry for the commit spam