Jump to content

how to...aggiunta encorder per controllo pwm


iorobyy
 Share

Recommended Posts

CIao

Dopo varie peripezie il mio primo midibox sid V2 funziona che e' un piacere  :D (e con sta frase mi tocco gli zebedei  ;) )

Ok ora sto allestendo la control surface totale - step C - ma mi rendo conto poco a poco che ci sono controlli

che non mi servono e controlli che magari gradirei di piu'.

Com'e' la procedura per personalizzare i controlli?

In particolare vorrei eliminare l'encoder "osc delay" e sostituirlo con un pot "osc pwm" ossia controllare il parametro della pulse width modul. da encoder.

Per cortesia siate il piu' semplici e chiari possibile perche' me ne intendo poco

niente di programmazione  ???, sono piu' hardware per capirci. Diciamo che dei passaggi software che a volte vi possono sembrare cose basilari per me sono dramma e tragedia. :-[

Ok grazie d'anticipo per l'aiuto

Link to comment
Share on other sites

Ciao

ignoranza nel campo programmazione (che tra l'altro condivido con te) non ti esime dal leggere attentamente e piu volte la documentazione, cosa che non hai fatto ovviamente visto la domanda.

Immagino che sarai scappato gritando quando avresti dovuto leggere il codice sorgente della applicazione MBSID V2. Dentro del codice ci sono commenti (in inglese semplicissimo) che ti aiutano a capire le varie funzioni.

Mentre creare del codice nuovo richiede una conoscenza approfondita, cambiare il codice presente richiede solo pazienza ed un minimo di EEC attivo.

Avrai bisogno di installare la tool-chain di programmazione, guarda nella wiki.

Io personalmente non so la risposta diretta alla tua domanda.

Sei hai problemi con l'inglese scrivi qua e vedremo che si puo fare.

Simone

Link to comment
Share on other sites

A dire il vero la documentazione l'ho letta piu' volte ma e' praticamente un immenso labirinto , io da buon elettronico sono abituato

a schemi , tabelle ed informazioni dirette e chiare , decisamente molto meno "dispersive" fatico davvero a racapezzarmi.

Nostante vari tentativi di scremare le informazioni importanti dalle varie ridondanze dopo aver filtrato i milioni di accenni a cose che poi non vengono spiegate nonostante il disperato tentativo di creare una mappa del sito (su carta) e delle varie appendici internet

mi sono arreso all'evidenza che il forum , come viene detto piu' volte anche in ucapps , e' la sola risorsa chiave.

Del resto mi rendo conto della complessita' del progetto specie per la sua componente puramente software se cosi' non fosse

non avrei chiesto aiuto a chi di software se ne intende di piu' di me.

Premesso cio' volevo sapere se e' possibile avere dei links diretti delle informazioni che citi , in quanto se il consiglio e' di

errare nuovamente per ore nel sito ucapps , abbi pazienza ma non e' proprio il consiglio piu' utile.

Link to comment
Share on other sites

Dentro del codice ci sono commenti (in inglese semplicissimo) che ti aiutano a capire le varie funzioni.

http://ucapps.de/mios/midibox_sid_v2_0_rc28.zip

#if CS_MENU_USE_INCDEC_BUTTONS == 0
	ENC_ENTRY  1,  6,  MIOS_ENC_MODE_DETENTED2	; menu encoder
#endif

	;; additional CS encoders
	;;        SR  Pin  Mode
	ENC_ENTRY  4,  4,  MIOS_ENC_MODE_DETENTED2	; Osc delay/transpose/assign #1
	ENC_ENTRY  3,  0,  MIOS_ENC_MODE_DETENTED2	; Osc attack/finetune/assign #2
	ENC_ENTRY  3,  4,  MIOS_ENC_MODE_DETENTED2	; Osc decay/portamento/assign #3
	ENC_ENTRY  2,  0,  MIOS_ENC_MODE_DETENTED2	; Osc sustain/arpeggiator/assign #4
	ENC_ENTRY  2,  4,  MIOS_ENC_MODE_DETENTED2	; Osc release/pulsewidth/assign #5

	ENC_ENTRY  1,  0,  MIOS_ENC_MODE_DETENTED2	; LFO rate
	ENC_ENTRY  1,  4,  MIOS_ENC_MODE_DETENTED2	; LFO depth

	ENC_ENTRY  4,  2,  MIOS_ENC_MODE_DETENTED2	; Filter CutOff
	ENC_ENTRY  4,  6,  MIOS_ENC_MODE_DETENTED2	; Filter Resonance

	ENC_ENTRY  3,  2,  MIOS_ENC_MODE_DETENTED2	; Env depth/assign #1
	ENC_ENTRY  3,  6,  MIOS_ENC_MODE_DETENTED2	; Env attack/assign #2
	ENC_ENTRY  2,  2,  MIOS_ENC_MODE_DETENTED2	; Env decay/assign #3
	ENC_ENTRY  2,  6,  MIOS_ENC_MODE_DETENTED2	; Env sustain/assign #4
	ENC_ENTRY  1,  2,  MIOS_ENC_MODE_DETENTED2	; Env release/assign #5

sono solo degli esempi non sono sicuro che sia qui la risposta alla tua domanda

Link to comment
Share on other sites

Ok , ora inizio gia' a capire un po' di piu' la faccenda, faccio qualche domanda base base.

Come lo edito il file ? (con che applicazione?)

La voce da modificare dovrebbe essere la prima dell'esempio, devo impostare l'osc pwm al posto dell'osc delay immagino ci sia da modificare i valori "SR" e "Pin"

corretto? sono sulla strada giusta?

esiste una tabella di questi codici?

Link to comment
Share on other sites

Come lo edito il file ? (con che applicazione?)

win = notepad

osx = textedit

linux = gedit

La voce da modificare dovrebbe essere la prima dell'esempio, devo impostare l'osc pwm al posto dell'osc delay immagino ci sia da modificare i valori "SR" e "Pin"

corretto? sono sulla strada giusta?

penso di si

esiste una tabella di questi codici?

si

Link to comment
Share on other sites

cito " If you only want to reassign buttons and/or encoders to different DIN pins, or LEDs to different DOUT pins, e.g. to improve the layout of your frontpanel boards, you should be able to do this without learning the PIC assembly language ---- Rotary Encoders: there is a table in setup_*.asm which maps all encoder functions to digital input pins. Search for MIOS_ENC_PIN_TABLE "

Tu forse ti riferisci a queste frasi sibilline da me gia' piu' volte lette e rilette.

Qui a mio avviso questo passaggio ti dice che puoi cambiare la posizione di un knob nella matrice dei vari DIN che hai installato, e' facile basta guardare nel file asm .

Qui dice che gli encoders sono mappati da  due valori, uno - SR - indica lo shift register (74165) , l'altro indica il pin dello shift register , poi viene specificato se e' detented o meno.

Cosa fa l'ammenicolo collegato all'indirizzo specificato sr - pin viene definito in un'altra sezione che ad occhio e' quella di DIN entry

CS_MENU_DIN_TABLE

;; Function name SR# Pin#

DIN_ENTRY CS_MENU_BUTTON_Dec, 1, 0

Il function name del controllo della pwm ovviamente mi e' sconosciuto , questo poiche' nella cs - step c- il rotary encoder che fa cio' non e' previsto...ho spulciato un po' ma decisamente l'intervento di una persona ferrata sul mios sarebbe interessante.

E' chiaro che entrando cosi' nel dettaglio le wiki sono un po' insufficenti a mio avviso visto che comunque nel 90% dei casi rimandano

al maximinestrone del sito ucapps.

Link to comment
Share on other sites

mi sa che i due codici in realta' sono gli indirizzi multiplexer-pin il collegamento al parametro, le uniche due cose da non cambiare

nella riga di comando

perche?

Qui dice che gli encoders sono mappati da  due valori, uno - SR - indica lo shift register (74165) , l'altro indica il pin dello shift register , poi viene specificato se e' detented o meno.

e evidente che

#if CS_MENU_USE_INCDEC_BUTTONS == 0

ENC_ENTRY  1,  6,  MIOS_ENC_MODE_DETENTED2 ; menu encoder

#endif

;; additional CS encoders

;;        SR  Pin  Mode

ENC_ENTRY  4,  4,  MIOS_ENC_MODE_DETENTED2 ; Osc delay/transpose/assign #1

ENC_ENTRY  3,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc attack/finetune/assign #2

ENC_ENTRY  3,  4,  MIOS_ENC_MODE_DETENTED2 ; Osc decay/portamento/assign #3

ENC_ENTRY  2,  0,  MIOS_ENC_MODE_DETENTED2 ; Osc sustain/arpeggiator/assign #4

ENC_ENTRY  2,  4,  MIOS_ENC_MODE_DETENTED2 ; Osc release/pulsewidth/assign #5

definisce un encoder per il pwm quindi la funzione c e.

Link to comment
Share on other sites

e evidente che

definisce un encoder per il pwm quindi la funzione c e.

Per la precisione, quell'encoder modificherà il PWM quando si seleziona il layer "Misc" con l'apposito pulsante. Cambiando layer, cambiano le funzioni di tutti e cinque gli encoder.

Se ciò può aiutarti ad avere le idee un po' più chiare...

Best regards, Enrico

Link to comment
Share on other sites

Ciao Enrico

non mi sono mai soffermato piu di tanto sul software del SID visto che con la mb6582 non ne ho mai avuto bisogno pero mi chiedo ahora in quale file si possono "mappare" le varie funzioni ad un determinato SR/pins

Simone

Dando un'occhiata ai sorgenti mi pare di capire che la gestione venga fatta da due file, cs_menu_enc.inc e cs_menu_enc_table.inc. Quest'ultimo (che è essenzialmente una tabella di tutte le funzioni degli encoder) sembra interessante per una rimappatura, ma purtroppo leggo anche questo:

; ==========================================================================
;  In this table all encoder functions are listed
;  the number and the position of entries are static and cannot be changed
;  without a modification in cs_menu_enc.inc!
; ==========================================================================

Magari con un po' di precauzione si riesce comunque a fare qualcosa, tipo scambiare un parametro con uno di un altro layer (come "delay" e "PWM" citati da iorobyy), per saperlo l'unica possibilità è provare.

Ovviamente non mi ritengo responsabile di una benché minima infinitesima frazione di un bel niente ;) anche perché non ho mai provato una cosa del genere...

Personalmente (che uso spesso anch'io PWM, portamento ecc.) opterei per rendere il layer "Misc" quello attivo di default all'accensione.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...