Jump to content


Photo
- - - - -

MIDI BOX64


  • Please log in to reply
4 replies to this topic

#1 SokolVadim

SokolVadim

    MIDIbox Newbie

  • Members
  • Pip
  • 3 posts

Posted 23 March 2012 - 19:00

Собрал сей девайс , все прекрасно работает , но вот одна задача не как ни решается , в програмировании я ноль ,хочу за место кнопок на восьмом регистре поставить 4 энкодера.
Подскажите как сделать прошивку , или может быть кто-то делал ,аппарат уже почти готов .
Подправить нужно вот эту (midibox64_v2_4d)там есть исходники.

Edited by SokolVadim, 23 March 2012 - 19:02.


#2 Janis1279

Janis1279

    MIDIbox Addict

  • Members
  • PipPip
  • 245 posts
  • LocationRiga, Latvia

Posted 24 March 2012 - 00:50

Привет на форуме.

С Midibox64 может работать всего один энкодер - Datawheel, вместо кнопок : на лево и на право.
Для большего числа энкодеров подойдёт программа Midibox64е.

Для просмотра и редактирования файлов можно использовать Wordpad в Windows , a для компиляций необходимо почитать
http://www.midibox.o..._toolchain_core
и создать необходимую среду на жёстком диске вашего компютера.

Удачи !

#3 SokolVadim

SokolVadim

    MIDIbox Newbie

  • Members
  • Pip
  • 3 posts

Posted 24 March 2012 - 05:28

Для моего проекта нужно 32 Ain , 56 Din , 64 dout и 4 энкодера . В прошивке Midibox64е нет Ain.
И еще вопрос , можно ли все это сделать при помощи MIOS.
Можно скомпилировать прошивку , но не могу разобраться с исходниками ,в папке с прошивкой лежит файл ASM ,но он по размеру какой-то маленький.
Там как раз все прописано , но при компиляции энкодеров дает ошибку на эту строку dw (mode << 8) | (din_0 + 8*(sr-1)),без нее компилирует но прошивка по размеру получается в 10 раз меньше .
На эту тоже ругается #include "src/main.inc" за место нее пишешь END - компилирует.
Можно ли этоту часть прошивки как то присоединить к основной :

org 0x3280 ; never change the origin!
;; encoder entry structure
ENC_ENTRY MACRO sr, din_0, mode
dw (mode << 8) | (din_0 + 8*(sr-1))
ENDM
ENC_EOT MACRO
dw 0xffff
ENDM

MIOS_ENC_PIN_TABLE
;; encoders 1-16
;; SR Pin Mode
ENC_ENTRY 9, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 1
ENC_ENTRY 9, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 2
ENC_ENTRY 9, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 3
ENC_ENTRY 9, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 4
ENC_ENTRY 10, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 5
ENC_ENTRY 10, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 6
ENC_ENTRY 10, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 7
ENC_ENTRY 10, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 8
ENC_ENTRY 11, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 9
ENC_ENTRY 11, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 10
ENC_ENTRY 11, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 11
ENC_ENTRY 11, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 12
ENC_ENTRY 12, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 13
ENC_ENTRY 12, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 14
ENC_ENTRY 12, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 15
ENC_ENTRY 12, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 16

;; encoders 17-32
ENC_ENTRY 13, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 17
ENC_ENTRY 13, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 18
ENC_ENTRY 13, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 19
ENC_ENTRY 13, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 20
ENC_ENTRY 14, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 21
ENC_ENTRY 14, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 22
ENC_ENTRY 14, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 23
ENC_ENTRY 14, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 24
ENC_ENTRY 15, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 25
ENC_ENTRY 15, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 26
ENC_ENTRY 15, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 27
ENC_ENTRY 15, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 28
ENC_ENTRY 16, 0, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 29
ENC_ENTRY 16, 2, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 30
ENC_ENTRY 16, 4, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 31
ENC_ENTRY 16, 6, MIOS_ENC_MODE_NON_DETENTED ; V-Pot 32

;; encoders 33-48
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT

;; encoders 49-64
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT
ENC_EOT


#include "src/main.inc"
Здесь как я думаю можно прописать ригистры и их ноги на которых будут энкодеры, но как это запихать в основную прошивку ?

Edited by SokolVadim, 24 March 2012 - 08:27.


#4 Janis1279

Janis1279

    MIDIbox Addict

  • Members
  • PipPip
  • 245 posts
  • LocationRiga, Latvia

Posted 25 March 2012 - 01:34

В setup_midibox16e.asm файле (рядом с setup_midibox64e.asm ) есть указка на использование потенциометров
; Although MIDIbox64E has been designed for rotary encoders, it can also handle with
; up to 64 pots/faders or up to 8 motorfaders.
; Pots and faders are mapped to the "encoder" entries 64-128.


В директорий src/ есть много файлов и нехватка какого то файла описавшего уставок энкодеров возможно и вызывает ошибки при компиляций.

#5 SokolVadim

SokolVadim

    MIDIbox Newbie

  • Members
  • Pip
  • 3 posts

Posted 25 March 2012 - 04:38

Спасибо , прочитал все внимательней и с компилированием разобрался , удобно.Мне нужна прошивка midibox64e_v2_2d , в ней есть все что мне нужно, Ain тоже есть , редактированием можно менять и кол-во круток и назначать куда какие надо регистры и т.д.

Edited by SokolVadim, 25 March 2012 - 09:01.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users