пятница, 29 июня 2012 г.

Комментарии в named.conf

Сегодня обнаружил косяк при настройке зоны в BIND.
Занес я новую зону, используя воспеваемый всеми ламерами webmin, но вот в списке ее не увидел. Полез в named.conf, зона прописана, от остальных ничем не отличается.. разве что расположена ниже одного закомментированного блока.

Блок был закомментирован как я люблю:
/* если надо раскомментить, удаляем этот пробел -> * /
blablabla
/* */
Любопытно, после удаления блока в интерфейсе появились все зоны, которые были прописаны ниже него.

Как я AT командами телефона шатал. Часть 2


В первой части я рассказывал, как общаться с телефоном посредством программы Terminal.

Немного о том, что же делать дальше.
А дальше надо как то раскодировать все то, что было получено с телефона, программно (на PHP в моем случае). Не вручную же сидеть переводить с кодовыми табличками.


Получив какую-нибудь входящую (!!, важно) смс-ку в PDU формате из телефона, начинаем ее разбирать по мануалу (для исходящей другой алгоритм разбора). Например (пробелы расставил для наглядности)
07919762020082F8 44 14 D03C5EB37C0E1BDF6E9F0F 00 08 21505291421061 8C 050003360601042D0422041E002004120410042800200053004D0053002D041A0423041F041E041D0020041D041000200421041A04180414041A0423002100200422043E043B044C043A043E0020044104350433043E0434043D044F0020043F043E04370432043E043B044F043504420020043F043E0434043A043B044E044704380442044C002004110415

Начинаем читать. 

пятница, 1 июня 2012 г.

Подключение пьезодинамика (buzzer) к МК AVR

Сегодня потратил часок времени на проблему подключения пищалки от компьютера к МК AVR. Суть проблемы - практически неслышное пищание даже на расстоянии 10см. Я перепробовал разные методы: и обычное включение "нога-buzzer-земля", и подключение к 2 ногам с попеременной подачей на них 01 и 10, и подключение через транзистор разными способами. Все равно пищало тихо.

В итоге проблема была в излишне частом дрыгании ногами. МК у меня работал на частоте 8МГц, а между установкой и снятием напряжения с ноги я ставил всего 10-15 NOP-ов..
Когда я написал простую функцию задержки на 0xFF циклов и таким образом сильно снизил частоту ШИМ, динамик звонко запищал!

Получившийся код ниже

cmd_beep:
push temp
ldi temp, 0x01 ; длительность писка
  cmd_beep_loop:
  dec temp
push temp
ldi temp, 0xFF
  cmd_beep_loop2:
    SBI BUZZER_PORT, BUZZER_PIN
rcall delay
    CBI  BUZZER _PORT, BUZZER_PIN
rcall delay
  dec temp
cpi temp, 0x00
brne cmd_beep_loop2
pop temp
cpi temp, 0x00
brne cmd_beep_loop
pop temp
ret

delay:
push temp
ldi temp, 0xFF
  delay_loop:
  dec temp
cpi temp, 0x00
brne delay_loop
pop temp
ret

Проблемы вывода CP1251 в терминале UTF-8

Если вам приходится работать с svn-проектами в кодировке cp1251, имея системную локаль UTF-8, возможно вы сталкивались с трудностью отображения кириллицы cp1251 в консоли UTF-8 при выполнении svn diff.

Решение простое - запустить новую копию терминала с другой локалью.
> LANG=ru_RU.cp1251 gnome-terminal
и в нем уже работать с svn
теперь кириллица выводится