picspecs 1.- Twelve dsPIC's (Type 30F3010) for the string drivers For ease of maintenance, all these PIC's can have identical firmware in a first version. 2009: Eerste versie van de firmware voor de 12 DS pics geprogrammeerd. Deze boards luisteren elk naar hun eigen midi-kanaal. (0 tot 11) Ter initialisatie moet elk board volgende kontrollers krijgen: cc69: on/off switch deze controller moet alle PWM disablen. Hij mag in geen geval de settings van CC20 en CC24 wijzigen of resetten. Hij moet wel de setting van CC22 resetten naar 1. cc20: stemming (nu 40 tot 52 ). Het toelaatbaar bereik is 24 tot 60. De setting bij het opstarten in nu default = 36 voor alle PICs. Om noot 36 te doen klinken moet met de huidige firmware CC20 op 40 ingesteld worden. [04.08.2010] Indien dit gewijzigd wordt bij een upgrade, moet ook de Aeio-master firmware aangepast worden!!! Op dit moment zijn verder reeds geimplementeerd: cc22: multiplier, default set to 1, toelaatbaar bereik: 1-32. cc24: fine tuning (0-127 cents) cc3: duty cycle voor PWMa (ta1). (0-25%) cc4: duty cycle voor PWMb (ta2). (0-25%) 2010- measurement and analysis sessions: Bug report: - note 47 gives almost no sign of life. It boots normally though. Hardware is ok. It seems to reboot everytime the coil current exceeds a certain value. Maybe we have power spikes here... With a speaker load it seems to work fine. - note 45, after sending the right controllers, sounds note 41, in error. - At start-up, sometimes boards produce a PWM signal without having received any command... This leads to smoke stacks. - The boards respond to notes below their range ( <36) and should be limited! This is dangerous and incompatible with the mapping of the hammers. - note off command seems to reset the fine tuning controller (cc24). This is not acceptable. - the fine tune controller should have a range of -50 to + 50 cents (-63 to + 63 is also acceptable) - defaults at start up for cc20: 36 - 47 (different for each PIC) To be implemented: - Pitch bend over a very small range (-50 to + 50 cents) The pitch bend value should be reset after each reception of a note off command !!! - note 0-11 must be mapped on lights connected to X1-1 (ON/OFF only) - note 12-23 must be mapped on lights connected to X1-2 (ON/OFF only) - notes 24-35 must be mapped on the hammers, their velo byte controlling the striking force - if cc64 is false, note off commands for all notes should make the dampers strike and hold. if cc64 is true, the dampers should become disabled and inactive (released). Note that cc64 is the standard midi sustain controller ??? individual controll of dampers would be wishfull... - velocity byte must controll the total power delivered to the string, limited by the setting of cc7 (volume) (?) - key pressure must controll the bow power after and during a note on. Key pressure value must be reset on a note off. 2.- Master controller: firmware by GWR [08-09/2010] PIC: 18F25K20, Amicus compiler. The master controller takes care of the differenciating commands. It basically translates midi in commands for Aeio to midi commands for all individual strings on their own channels. Initialisation sequence: send default tuning table to the string drivers: 36, 37... 47 using their cc20 controller New firmware written for a new parser board, october 2017.