18 сентября 2014 г.

Праграмаванне RL78/G10 праз паслядоўны порт

З версіі v0.4 у склад праграмы rl78flash уваходзіць асобная праграма для RL78/G10 -- rl78g10flash. Яна здольна пісаць і правяраць адпаведнасць CRC вонкавай памяці мікракантролераў RL78/G10. Апаратнае забеспячэнне можна выкарыстоўваць тое ж самае што і для ўсіх астатніх RL78, але RL78/G10 падтрымліваюць выключна хуткасць 115200 і аднаправодны рэжым.

15 сентября 2014 г.

Вядомы пераўтваральнік USB-UART з невядомымі VID/PID у Linux

Спіс вядомых VID/PID  для кожнага пераўтваральніка прашыты ў зыходным кодзе адпаведнага драйвера. Але бываюць абставіны, калі няма магчымасці ці жадання перасабраць модуль.  Для такіх выпадкаў існуе магчымасць дадаць VID/PID дынамічна.

Робіцца гэта вельмі проста:
echo <vid> <pid> > /sys/bus/usb-serial/drivers/<module>/new_id
дзе замест <vid> і <pid> трэба запісаць патрэбныя нумары, а замест <module>  -- імя модуля.

Паслядоўнасць дзеяў цалкам:
  1. загрузіць патрэбны модуль, напрыклад cp210x
    modprobe cp210x
  2. дадаць новыя VID/PID:
    echo 0123 4567 > /sys/bus/usb-serial/drivers/cp210x/new_id
  3. далучыць прыладу.
Майце на ўвазе, што ўсе маніпуляцыі з ядром дазволены толькі карыстальніку root. Таму прывожу варыянты з ужываннем sudo:
sudo modprobe cp210x
sudo bash -c "echo 0123 4567 > /sys/bus/usb-serial/drivers/cp210x/new_id"

12 сентября 2014 г.

BLE112 vs. Windows 8

Пры распрацоўцы прылады з Bluetooth сутыкнуўся з праблемай, што тэлефоны з Android 4.4 ды iOS усталёўваюць сувязь і працуюць без ніякіх перашкод, а вось Windows 8 бачыў прыладу, але парынг заўсёды зкончваўся памылкай. Пошук падобных выпадкаў даў такі расклад: у кагосьці не працуе аніяк, у іншых проста працуе. Чаму такое утвараецца мне знайсці не пашчаслівіла, да таго ж не было сапраўднага ПК, а мелася толькі эмуляцыя да знешні "свісток" на чыпе BCM20702.

Праблема была зразумета, толькі пры дапамозе Surface Pro 3. Высветлілася што Windows 8 патрабуе bonding, а иншыя АС -- не. Каб уключыць яго, дастаткова выканаць запыт
sm_set_bondable_mode(1)
пры пачатковай наладке модуля.

Вось і ўсё.