This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dseq32 [2006/11/06 20:46] mess new functions added |
dseq32 [2008/05/19 19:51] (current) mess |
||
---|---|---|---|
Line 7: | Line 7: | ||
- | {{http://users.skynet.be/sky92755/DSEQ32b.JPG}} | + | {{http://webs.hogent.be/~032573mh/DSEQ32d.JPG?800}} |
====== Features ====== | ====== Features ====== | ||
Line 16: | Line 16: | ||
* 8 banks of 16 patterns | * 8 banks of 16 patterns | ||
* patterns are saved on a bankstick | * patterns are saved on a bankstick | ||
- | * song mode (not sure how I will implement this..) | + | * settings are stored on internal eeprom |
+ | * song mode | ||
* all functions can be executed while running | * all functions can be executed while running | ||
* forward/backward playing direction | * forward/backward playing direction | ||
* 24 PPQ resolution | * 24 PPQ resolution | ||
* midi clock master/slave (maybe also taptempo) | * midi clock master/slave (maybe also taptempo) | ||
- | * settings are stored on internal eeprom | + | * sysex functionality |
- | + | ||
- | note that these features are not final! | + | |
====== Interface ====== | ====== Interface ====== | ||
Line 38: | Line 37: | ||
* Step button layout: | * Step button layout: | ||
* Track layer | * Track layer | ||
+ | trk button + track select: solo track | ||
+ | track select + play button: manually trigger note | ||
|1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |16 | | |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |16 | | ||
Line 65: | Line 66: | ||
|17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 | | |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 | | ||
- | | Fill | MidiCh | MidiCh | | | | | | | | | | | |LCD |Reset| | + | | Fill |Shift | MidiCh | MidiCh |MidiCh |Offset |Notelen |Sync to |Sync Ld | |Dump cur| |Dump BS | |LCD |Reset| |
- | | Track | Drum | NoteSeq | | | | | | | | | | | |Mode |Seq | | + | | Track |Track | Drum | NoteSeq|CC |CC |NoteTrk |Track |Pattern | |Pattern | |Pattern | |Mode |Seq | |
====== Progress ====== | ====== Progress ====== | ||
Line 93: | Line 95: | ||
* shift + stop resets the song position | * shift + stop resets the song position | ||
* due to code/ram space limitations the project is ported to a pic18f4620 | * due to code/ram space limitations the project is ported to a pic18f4620 | ||
+ | * the core board was modified so that the backlight can be controlled by the software | ||
+ | * new bankstick routines to handle the larger pattern size | ||
+ | * 2 new functions added: Seq Reset and Backlight mode | ||
+ | * CC layer added | ||
+ | * tracks don't go out of sync after changing divisor | ||
+ | * the note track now has a note length parameter | ||
+ | * pattern banks are implemented | ||
+ | * new function: shift track | ||
+ | * the note-on status of tracks is displayed in the track layer | ||
+ | * note-off handling when seq is stopped added | ||
+ | * the pattern bpm is now loaded when the seq is not running | ||
+ | * 0.7e | ||
+ | * pattern banks implemented, bug fixed in bankstick routines | ||
+ | * manual trigger and solo implemented | ||
+ | * basic sysex support | ||
+ | * songmode now works | ||
+ | * note length implementation for note track | ||
+ | * it is now possible to sync pattern changes to begin of pattern | ||
+ | * lots of core tick optimalisations | ||
+ | * obsolete functions removed | ||
+ | |||
+ | |||
====== Software ====== | ====== Software ====== | ||
- | most of the software will be written in C, some of the critical parts | + | Most of the code is written in C |
- | will be optimised in ASM to increase performance | + | |
the software will be based on the midibox [[http://www.midibox.org/forum/index.php?topic=5691.0|clockbox example]] <sup>uCApps</sup> | the software will be based on the midibox [[http://www.midibox.org/forum/index.php?topic=5691.0|clockbox example]] <sup>uCApps</sup> | ||
Line 104: | Line 127: | ||
* Application code | * Application code | ||
- | * [[DSEQ_BS|Bankstick code]] | + | * [[DSEQ_BS|Bankstick]] (updated) |
- | * [[DSEQ_CS|Control surface code]] | + | * [[DSEQ_CS|Control surface]] |
- | * [[DSEQ_DSEQ|Sequencer code]] | + | * [[DSEQ_CORE|Sequencer core]] |
+ | * [[DSEQ_FUNCTIONS|Sequencer get/set and helper rountines]] | ||
+ | |||
+ | * you can find DSEQ32 v0.7e [[http://webs.hogent.be/~032573mh/midibox/dseq32/dseq32_latest.zip|here]] | ||
+ | |||
+ | * the [[www.doxygen.org|doxygen]] generated documentation is available [[http://webs.hogent.be/~032573mh/midibox/dseq32/doc|here]] | ||
+ | |||
====== Hardware ====== | ====== Hardware ====== | ||
Line 120: | Line 150: | ||
to reduce the number of DIN/DOUT modules needed | to reduce the number of DIN/DOUT modules needed | ||
[[DSEQ32_matrix]] | [[DSEQ32_matrix]] | ||
+ | |||
+ | |||
+ | ====== Construction ====== | ||
+ | |||
+ | |||
+ | * Assembly of frontpanel | ||
+ | |||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/button_boards.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/back_nobutton.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/boardsinplace.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring1.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring2.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring3.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring4.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring5.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly/wiring6.JPG?400}} | ||
+ | |||
+ | |||
+ | * Painting the case | ||
+ | |||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/paintcase/case_after_cleaning.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/paintcase/front_after_cleaning.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/paintcase/back_grondverf2.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/paintcase/front_grondverf.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/paintcase/case_together_grondverf.JPG?400}} | ||
+ | |||
+ | |||
+ | * Assembly after painting | ||
+ | |||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/inside_case.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/boards.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/front_back.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/front_with_nuts.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/boardsinplace_back.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/inside_case_w_board.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction/assembly_after_paint/assembled.JPG?400}} | ||
+ | |||
+ | |||
+ | * Finished hardware | ||
+ | |||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction//finished_hw/dseq32.JPG?400}} | ||
+ | {{http://webs.hogent.be/~032573mh/midibox/dseq32/construction//finished_hw/dseq32_w_nord.JPG?400}} | ||
====== Development ====== | ====== Development ====== | ||
Line 158: | Line 230: | ||
back to [[user_projects]] | back to [[user_projects]] | ||
+ | |||
+ | more project by [[mess]] |