Для чего нужен прерыватель
Если кто не в курсе, что такое прерыватель, то это - штуковина, которая включает и выключает теслу. Это делается с четырьмя целями сразу:
- Прерыватель служит пультом управления теслой. Нужно же ей как-то управлять, правда?
- DRSSTC вообще не могут работать без прерывателя.
- Прерывания увеличивают длину стримера - они дают воздуху остыть, а конденсаторам в силовой части зарядиться.
- Прерыватель обеспечивает спецэффекты - через него можно играть музыку на тесле, синхронизировать с освещением, итп
Прерыватель - вторая по сложности штука в тесле (а может, и первая), поэтому хороший прерыватель не так просто разработать.
Конкуренты
Сейчас практически нет доступных к покупке прерывателей для теслы. Штука эта специфичная и мало кто хочет таким заморачиваться.
Ближайшие конкуренты вот: http://www.easternvoltageresearch.com/modulators.html
Но, во-первых, одни далеко от нас, а во вторых, у них прерыватель совсем простецкий, нету ни MIDI, ни DMX'а, а именно наличие этих двух штуковин может сделать теслу юзабельной для концертных выступлений.
Фичи
Итак, что я хочу организовать в прерывателе? Прерыватель будет батарейным, с переключением на питание от USB. Питаться будет от двух AA батареек/аккумуляторов. Будет небольшой индикатор. Концепт примерно вот такой:
Список режимов, которые я хочу организовать:
- Все режимы должны запускаться как один раз, так и постоянно
- Постоянная модуляция с регулируемой скважностью и частотой
- Модуляция первой модуляции
- Еще одна модуляция
- MIDI - слейв, воспроизводит то. что ему приходит с MIDI устройства, клавы, к примеру. Хотелось бы сделать полифонию, хотябы на 3 голоса, но это может оказаться непростой задачей.
- MIDI - мастер. Играет сам музычку с внутренней флэшки и передает ее другим устройствам. Таким образом, можно грать на многих теслах одновременно
- DMX - слэйв. Ну ,тут понятно. Теслой рулят со стандартного DMX - пульта.
- Audio in - возможность играть на тесле гитарой и другими обычными аудио источниками. На сколько это нужно - непонятно, но сделать это не сложно, поэтому берем
- Хотелось бы еще, чтобы девайс представлялся компьютеру MIDI устройством при подключении по USB и мог играть музычку прямо с компьютера.
Конфигурация этого все будет по USB. Естественно, будет загрузчик с помощью которого можно обновить программу.
--------------------------------
Что осталось сделать до релиза
Собрать требованияНарисовать схемуНарисовать механикуНарисовать платуСделать макетНаписать bootloaderПрикрутить основную программу к bootloader'уПрикрутить ОСНаписать драйвер дисплеяНаписать разделяемый таймер (в процессоре не хватает таймеров)Написать драйвер выходного сигналаПротестировать выходные уровни и работу оптики.Прикрутить watchdogСделать индикацию причины перезагрузки и номера версии ПО.Инициализация всех ножекОтключение ножек программирования после некоторого времени для повышения помехоустойчивости.Протестировать железо с работающим процессором: правильность работы преобразователей, выходной уровень, потреблениеПротестировать с теслойНаписать полифонический выходПротестировать стабилизатор на BZX55-C2V4Заменить флэшкуНаписать драйвер памятиПрикрутить USB-mass storageПрикрутить файловую системуНаписать или найти читатель/писатель xml.Задача клавиатурыНаписать менюСделать загрузку конфигурации из флэшаНаписать подменю настроекРегулятор контрастаОграничитель длинны/ширины импульсовНаписать одиночный модуляторДобавить и протестировать MSD пункт менюНаписать модулятор с постоянной частотойНаписать мега модуляторНаписать lock по комбинации кнопокТекстовый элемент менюНаписать midi-приемникНаписать фазолинейный выходНаписать буфер для активных, но не звучащих нотПерейти на числа с фиксированной точкойНаписать реакцию на громкость midiНаписать реакцию на pitch bendНаписать многоголосностьрежим SSTC для миди проигрывателяНаписать режим midi pass throughНаписать проигрыватель midiРазобратсья с багом с зависшими нотамиНаписать контроль частот и ширин импульсов для midi модуляТестирование midi-передатчикаИсправить баг с дрожанием фронта и баг с одиночным модулятором.Написать парсер миди-файловНаписать контрол, который показывает динамически меняющееся количество строкНаписать плеер миди-фаловНаписать передатчик миди-потока- Тестирование миди-функциональности
- Протестировать линейный стабилизатор - 78PC33
- Собрать требования по аудио-входу
- Написать аудио-вход
- Тестирование аудио-входа
- Рефакторинг
- Сделать макет корпуса
- Написать задачу слежения за напряжением батарейки
- Написать логику включения - выключения
- Собрать требования по DMX'у
- Написать приемник DMХ
- Тестирование приемника
- Тестирование железа: потребления, помехоустойчивости
- Корректировка схемы и платы
- Написать проверку целосности программы
- Заказ плат
- Заказ корпусов
- Монтаж плат
- Сборка
- Тестирование
- Готово
Дополнительные хотелки, которые не войдут в первый релиз
- Фильтр MIDI по каналам - принимает миди и воспроизводит звуки только в определенном диапазоне