Náhodou jsem na eBay narazil na malý ale šikovný WiFi modulek Wi07c. Dokáže pracovat v režimech AP, jako klient a nebo obojí najednou. Po rozbalení stačilo připojit napájení, Rx a Tx a vývod CH_PD na +3,3 V.
pondělí 15. prosince 2014
neděle 14. prosince 2014
Další zařízení na I2C (teploměr + bezdrátová EEPROM + GPIO Expander)
K dnešnímu hraní stačilo pomocí propojky uzemnit reset procesoru STM8 na M24LR Discovery destičce.
neděle 7. prosince 2014
OpenWRT a akcelerometr + kompas + gyro
Po zprovoznění I2C sběrnice si k ní můžeme připojit například obvody LSM303DLHC (akcelerometr + kompas) a nebo gyroskop L3GD20, vše skvěle zabaleno na STM32F3 Discovery Boardu. Na Discovery Boardu je nutné vymazat paměť MCU aby nám do komunikace "nekecal" a propojit následující vývody: PB6 na PA5, PB7 na PA7 a v neposlední řade zapojit PA6, tedy pin SA0 gyra, na logickou jedničku (výběr I2C módu).
středa 3. prosince 2014
OpenWRT a teploměr
I na posledním routeru jsem přešel na poslední verzi OpenWRT, tedy na 14.07 branch (Barrier Breaker).
Vše proběhlo bez problémů až na teploměr, ten je připojen prostřednictvím převodníku USB-RS232 s řadičem od FTDI. Digitemp používá 6-ti bitovou komunikaci, patne pro emulaci 1-wire prostřednictvím sériové linky. Bylo tedy nutné maličko upravit ovladač, jinak se v logu zobrazují následující hlášky a teploměr vůbec nefunguje:
ftdi_sio ttyUSB0: requested CSIZE setting not supported
Stačí provést úpravy v souboru /build_dir/target-mipsel_mips32_uClibc-0.9.33.2/linux-brcm47xx_generic/linux-3.10.49/drivers/usb/serial/ftdi_sio.c
Jedná se o sprosté zakomentování příslušné kontroly:
Řádek 2194:
A doplnění volby do switche od řádku 2240
switch (cflag & CSIZE) {
Další možností je použití patche:
http://patchwork.ozlabs.org/patch/306740/
Pro Asus 500gP je možné rovnou stahovat balíček z ulož.to.
Vše proběhlo bez problémů až na teploměr, ten je připojen prostřednictvím převodníku USB-RS232 s řadičem od FTDI. Digitemp používá 6-ti bitovou komunikaci, patne pro emulaci 1-wire prostřednictvím sériové linky. Bylo tedy nutné maličko upravit ovladač, jinak se v logu zobrazují následující hlášky a teploměr vůbec nefunguje:
ftdi_sio ttyUSB0: requested CSIZE setting not supported
Stačí provést úpravy v souboru /build_dir/target-mipsel_mips32_uClibc-0.9.33.2/linux-brcm47xx_generic/linux-3.10.49/drivers/usb/serial/ftdi_sio.c
Jedná se o sprosté zakomentování příslušné kontroly:
Řádek 2194:
/*if (C_CSIZE(tty) == CS6) { dev_warn(ddev, "requested CSIZE setting not supported\n"); termios->c_cflag &= ~CSIZE; if (old_termios) termios->c_cflag |= old_termios->c_cflag & CSIZE; else termios->c_cflag |= CS8; }*/ cflag = termios->c_cflag; if (!old_termios) goto no_skip;
A doplnění volby do switche od řádku 2240
switch (cflag & CSIZE) {
case CS5: dev_dbg(ddev, "Setting CS5 quirk\n"); break; case CS6: dev_dbg(ddev, "Setting CS6\n"); break; case CS7: urb_value |= 7; dev_dbg(ddev, "Setting CS7\n"); break;
Další možností je použití patche:
http://patchwork.ozlabs.org/patch/306740/
Pro Asus 500gP je možné rovnou stahovat balíček z ulož.to.
Přihlásit se k odběru:
Příspěvky (Atom)