recpu icon indicating copy to clipboard operation
recpu copied to clipboard

Readme needs more comprehensive description of firmware update for noobs

Open RoelofBerg opened this issue 5 years ago • 5 comments

Hi,

great work, thanks. I updated the firmware yesterday, worked well, but I had to overcome a few question marks.

For musicians who bought a pre-built Re-303 and have no IT skills I want to contribute to a more detailed and noob proof manual, with the pitfalls I saw with my fresh noob perspective. How can I extend the source of the .pdf manual ?

3 options:

a) Someone e-mails me the pdf source. If it is word or libre office, I can add to it with "track changes", so the package maintainer can choose what to use and what not.

b) I convert everything to LaTex, check it into the repo, and then everyone can contribute to it in git because the .pdf will be generated from ASCII source code. (I will also add a readme for how to install the LaTex toolchain and I will choose some existing LaTex package for fast setup.)

c) I add the manual fragments I suggest here and someone copy and pastes it into the manual.

And obviously the 4th option d) a contribution from me is not needed at the moment.

Thanks.

RoelofBerg avatar Dec 26 '19 20:12 RoelofBerg

Hi,

great work, thanks. I updated the firmware yesterday, worked well, but I had to overcome a few question marks.

For musicians who bought a pre-built Re-303 and have no IT skills I want to contribute to a more detailed and noob proof manual, with the pitfalls I saw with my fresh noob perspective. How can I extend the source of the .pdf manual ?

3 options:

a) Someone e-mails me the pdf source. If it is word or libre office, I can add to it with "track changes", so the package maintainer can choose what to use and what not.

b) I convert everything to LaTex, check it into the repo, and then everyone can contribute to it in git because the .pdf will be generated from ASCII source code. (I will also add a readme for how to install the LaTex toolchain and I will choose some existing LaTex package for fast setup.)

c) I add the manual fragments I suggest here and someone copy and pastes it into the manual.

And obviously the 4th option d) a contribution from me is not needed at the moment.

Thanks.

Hi and thanks for the suggestions :) If you want to improve that part of the manual that would be very helpful. It's easy to become blind of the flaws on the things you make. It can sometime also be hard to see things from a novice users perspective.

The documentation is written in reStructuredText format and the pdf is generated using sphinx. Will try and figure out the best way of dealing with user contribtution to documentation until the moment the complete repo become published, wether I fork of the documentation to another git repo or if I should just publish it here.

If you got anything you'd like to add or change already you could post it here for now :)

sunflowr avatar Dec 29 '19 13:12 sunflowr

DRAFT (when ok I will check spelling and grammar) Note: There are people updating RE-CPU in a pre-built DinSync RE-303 that have no idea that something like a "bootloader" exists, that it is not connected to shoes and that it ican only be reached by a powercycle etc. Therefore I used a bit more text than I'd use for techies.


Chapter 1.1 Introduction (Changes: Explaining to a user who does not know the difference between chip,device,firmware what this document is and what it is not. Protect noobs who bought pre-installed devices from repeating chapters 2 to 4 and getting stuck or damaging the device.)

RE-CPU is a replacement chip that emulates the chip which is not produced anymore and was used in different devices, including Roland TB303 and 606.

This manual covers the hardware and software installation of the RE-CPU chip to a DIY DiNSync Re-303 synthesizer and the software update procedure as well as addional features, not found in an original TB-303 or 606 (e.g. Midi Sync).

This manual is only meant for explaining the RE-CPU chip in hard- and software, but not for explaining the device this chip is built into or its full software usage. However, the software in the RE-CPU will behave identical to the original TB-303 or 606 software, with the exception of a few added features (like MIDI) that are explained in chapter 6. So the overall usage of the RE-303 equipped device can be studied by obtaining the original device manuals from Roland, which still can be found on the internet (e.g. an old TB-303 manual for the operation of a DinSync Re-303 replique).

If you own a readily built Re-303 Synthesizer you can skip the chapters 2, 3 and 4, because the steps explained there have usually been done allready by the person who built your device. In Chapter 5 the optional firmware update procedure is explained and in chapter 6 the additional features, compared to an original TB-303/606 that the RE-CPU offers in its latest firmware version.


Chapter 3.1 (Changes: Prevent users that only need to install the existing .sysx files from getting stuck in an unnecessary self-generation. Users will prefer using the existing .syx files.)

The software for the RE-303 chip (called firmware) has to be transferred by the MIDI SysEx protocol. Therefore the software needs to be prepared into special SysEx files with the file extension .syx. This chapter explains how to prepare your own MIDI .sysx files. However, the fiwmare releases usually include binary .syx files allready that are ready to use. If you have the files bootloader.syx and reemu.syx available, you can skip this chapter and continue reading the next chapter. If, however, you do not want to use the pre-generated .syx files and prefer generating this files yourself for some reason, you can read in this chapter how to do this.

[Note: Maybe this chapter would even better be an appendix. The normal user does not need to know this.]


Chapter 3.3 (Changes: (Optional:) More instructions for the recommended SysEx tool. (Mandatory IMHO:) Explain the LED response, so the user knows about failure ore success, when to repeat, when to expect the new firmware features to be present.)

[Text is meant to be entered before the sentence "Once the file have been uploaded, the device should reboot and start ..." ...]

The firwmare update will take some time, during this time the LEDs remain unchanged. The lower the "buffer size" setting in your SysEx tool is, the longer the update will take. Time will vary from several seconds with a high up to a few minutes with a very low buffer size setting. When the device shows a lit C (on a 303) or Step-1 (on a 606) LED the firmware update was successful. If however no LED or any other note/step (e.g. A#) is lit and C/Step-1 is never lit alone, the procedure needs to be repeated after a power cycle. Don't worry, the transfer of reemu.syx can be re-tried after a powercycle in the bootloader as often as needed until it succeeds.


Chapter 4

(Optional: Chapter can maybe be removed, when this is explained in-line with the update procedure. So the reader has no need to jump or to remember.)


Chapter 5 (Changes: Explaining what a firmware is, what an update is, what the difference between bootloader and app is, that touching the bootloader should be avoided without reason (more explicit than only noting the danger of bricking), and how to do the update more in detatil.)

The RE-CPU contains software, called "firmware", for the device operation. The software can be updated via MIDI and this way additional device features can be added, when a newer firmware with more functionality (e.g. Midi) becomes available.

The firmware consists out of two elements, the bootloader and the application. Both can be updated via MIDI with a PC. The bootloader is a little software that is loaded immediately after poweron, and it allows (amongst other things) safely updating the bigger application software . When updating the bigger applications software fails it is usually still possible to powercycle and enter the bootloader again, and then to retry the application update as many times as necessary. However, when updating the bootloader itself fails, the RE-CPU cannot be revived anymore via the MIDI update procedure. Therefore it is recommended to only update the application software (reemu.syx), because this can be repeated until successful, and to avoid updating the bootloader (bootloader.syx), unless there is a specific reason for updating the bootloader as well.

Chapter 5.1

Updating the application cannot be done while the device is normally running. The bootloader mode needs to be entered: a) Connect your PCs or sound adapters MIDI OUT port to the middle MIDI jack labeled "Midi in" b) Hold the C button on TB-303 or the Step 1 button on TR-606 and keep it held. (Note: Old bootloader versions from early 2019 need the function button to be pressed instead.) c) Powercycle the 303/606 device

When the bootloader has been successfully entered you see the keyboard lights flashing from left to right and back again, also a little bassline is played via the audio output. Now you can release the C/Step1 button and send an updated application from the PC via MIDI. If, however, no flashing lights are shown the device is not ready yet and the attempt to enter the bootloader needs ro be repeated by a new powercycle until you see the flashing lights. Now the file can be send by a MIDI transfer mode called SysEx by any SysEx tool of your choice. It is save to send the file reemu.syx in this state, do not send the file bootloader.syx.

Follow the instructions in Chapter 3.1 for the download procedure. But there ignore the part "power up and wait for the missing firmware message", because the above described procedure allready made the device ready for the SysEx data transfer. As written in Chapter 3.3 after the file transfer a lit C or Step 1 LED confirms update success.

| Note: It is save to wiggle the little topmost 303 rotary knobs for cutoff etc. for fun in this state while waiting for the file transfer to finish :) |

Chapter 5.2 (Changes: Warning that this is usually not necessary and complements the warning box)

Updating the application (reemu.syx) like described in the prior chapter gives the RE-303 all new features. This chapter describes the optional update of the bootloader (bootloader.syx), which is dangerous, because unlike the application update the bootloader update cannot be repeated if it fails and brick (i.e. more or less damage) your RE-CPU. Usually updating only the application (reemu.syx, as described above) is sufficient to get all latest device features. Skip the bootloader update and continue reading in chapter 6 unless there is a very specific reason for updating also the bootloader.

RoelofBerg avatar Dec 29 '19 20:12 RoelofBerg

Plus Chapter 6: It is necessary to press function, keep it pressed, then press the other key. If just both are pressed on the same time sometimes nothing happens. I can write a little paragraph or sentence for this. Maybe also mentioning the state when this is possible (after booting, not in the bootloader).

RoelofBerg avatar Dec 29 '19 20:12 RoelofBerg

Thanks for the suggestions! Will look through and and update during next week :)

sunflowr avatar Jan 05 '20 19:01 sunflowr

I added some of the suggested changes in latest version (1.2.0) I'm planning on reorganizing the documenation further in next version, moving advanced sections and "things you don't need to know when you power up first time" to the end of the manual. The update procedure will be simplified in coming releases as well as I'm working on the PixieDust tool to allow for much easier updating

sunflowr avatar May 06 '20 14:05 sunflowr