среда, 8 октября 2014 г.

Скачать торрент или слишком длинный путь к файлу

Не так давно встала предо мной задачка скачать файлики, исключительно для личного ознакомления. И я вполне успешно провел эту операцию на моем новеньком классненьком смартфоне с android 4.4 (KitKat). На смарте все файлы нормально открываются, проигрываются.

Ну и раз уж скачал, то неплохо бы и на комп перекинуть. Подключаю смартфон через usb по протоколу MTP (как флэшка он подключиться, увы, не может), нахожу папочку, перетаскиваю её на рабочий стол и ... копирование зависает на неопределенно долгое время со словами "определение размера файлов". Пробовал несколько раз разные папочки — та же история.

Потом решил, раз гора не идет к Магомету... В общем решил прочитать SD-карту через картридер. Все нормально, папочку нашел, пытаюсь скачать — не получается. И тут меня осенило — а что если переименовать эти длинные многословные названия папок? Переименовал и всё побежало, скопировалось без проблем. И по MTP тоже стало нормально скачиваться.

Вот так-то, даже в современной windows 7 остались атавизмы в виде ограничения длины путей (260 символов, как мне помнится), а в андроиде нет или этот порог там больше.

среда, 29 января 2014 г.

Сжатие динамического диапазона звука

Недавно приобрел платку STM32F0308-disco, решил начать изучение ARM-процессоров с простого. Как положено помигал светодиодом и стал изучать встроенные в мк устройства такие как каналы DMA, таймеры и АЦП.

В микроконтроллере установленном на плату присутствует АЦП разрядностью 12 бит. Для хранения звука использовать все 12 бит неоптимально, так как передаточная функция линейна. Стоит использовать сжатие динамического диапазона, есть такие форматы как u-Law и A-Law используемые в телефонии.

Я искал различные варианты сжатия, легко реализуемые на микроконтроллерах и наткнулся на данную статью.

По примеру написал свои пару функций применимых к микроконтроллеру. Они преобразуют 12 бит в 8, используя формат похожий на плавающую точку: 1 бит знаковый, 3 - смещение(показатель степени) и 4 значение(мантисса).