Darbo laiko apskaitos laikrodis

Jo. Pažiūrėjus į šią nuotrauką, blogo skaitytojai pasakys- jo, jau toks buvo. Ir jie bus biški teisūs ir biški ne. Nes pats VFD laikrodukas jau buvo.

VFD darbo laikrodis
Čia jau kitoks principas ir užduotys. Šis laikrodis skaičiuoja darbo laiką, kiek liko iki pietų ar darbo pabaigos, dar rodos kiek liko iki “perekūro” ir kiek laiko iki perekūro pabaigos.
Nuo seniau aprašyto modelio šis laikrodis skiriasi tuom, kad jis neturi nei vieno valdymo mygtuko. Viskas valdosi per originaliai displėjuje stovinti RS232. Valdyti terminalo programa, ypač, kai serial portas išnaudotas ir displėjui sunkoka. Nes nėra atbulinio ryšio- pas panaudota ATMEGA8 tik vienas UARTas ir jis priima valdymo komandas ir pats valdo ekraną.
Continue reading →

Dar gyvas…

Dar gyvas aš. Paprasčiausiai dirbu lėtai prie vieno kiek mechaniškai sudėtingesnio projekto. O kad ką nors parodyti, keletas mažyčiukų paveikslėlių.

foto
Tai mažyčiukai kiniški voltmetrukai kurie matuoja savo maitinimo įtampą. T.y. nereikia atskiro maitblokio. Min įtampą kuri rodoma- 2,6V. Maksimali nežinoma, 22V tikrai rodė. Kaina su atsiuntimu kažkur 0.7$ už vienetą.
Continue reading →

Manija ir motyvacija

Seniau rašiau, kad iš garažo atsinešiau plazminį ekraniuką. Kiek laiko ieškojau duomenų apie šita daiGtą, bet nelabai ir radau. Poto užklydau firmelę capetronics kurie lygtai prekiauja tokiais ekraniukais, juos remontuoja ir panašiai. Ir parašiau aš jiems laiškelį- tipo turiu porą tokių ekraniukų, norėčiau išbandyti kaip jie veikia ir kad būčiau labai dėkingas už bet kokią informaciją apie šią Sharp produkciją. Kaip nekeista, gavau atsakyma kuris nuskambėjo kaip keistokai: tipo jie turi visus datasheetus, bet tikrai neduos man tos informacijos. Nu jei ne duos, tai galėjo ir nerašyti to laiško. Aš jiems tada atsakiau, kad jei negali, tai nereikia, gal kreipsiuos į patį Sharp, o gal pats atbursiu kur kas ir kaip eina. Gavau atsakymą kuris sukėlė mano honorą: tipo bandyk laimę durnelį… O to, man kvailam ir užteko. Teko jamti už ragų ar kitos minkštos vietos ir padirbėti.
Todėl parašysiu, bent jau dalinai, kaip dariau šitą “reverse engineeringą”.
Continue reading →

Elektrinis vairo stiprintuvas

Turiu toki draugą, kuris biški kliedi apie elektrinius dviračius. Bet nieko pirkti nenori, nes nori pats išrasti dviratį. 🙂
Ir jis vis mane terorizavo, kad rasčiau jam kur nors reduktorių. Norėjo jis sliekinio, kad ašys eitu kampu. Aš vis atsikalbinėjau ir specialiai neieškojau. Ir gruodžio pabaigoje netyčia sutikau kitą žmogų kuris kaip tik tvarkė savo garažiuką ir išmetė kalną daiktų. Ir tarp daiktų pasimatė Forduko elektrinis vairo stiprintuvas. O jis išoriškai ir logiškai labai panašus į reduktorių.

electronic power stearing
Čia pats agregatas, tik nusuktas kontroleris, kurį tuoj pat išardysim į gabaliukus.
Continue reading →

Su Naujais 2015 metais!

Sveiki Levo smegenų atsarginės kopijos skaitytojai (juk gi taip “brain dump” kompiuterastiškai verčiasi). Sveikinu visus su Naujais Metais. Už kokios mėnesio prasidės kiniški naujieji metai ir jie iš arklio pasidarys rodos ožkos ar panašiai. Praeitais metais visi žurnaliūgos pumpavo tuos kiniškus “medinio arklio” ar panašiai metus. Tačiau kinai keisti, ir sekantys metai bus kažkas panašaus į “guminės ožkos”… tiesa pasakius, kogero net ne ožkos, o ožio metais. Bet prie mūsų tradicijų tikriausiai durnai skambėtu: sveikinu su smirdančio ožio metais. (žinokit ožys tikrai smirda- čiupinėjau vieną zoologijos sode. Psichas visiškas buvo.).
Todėl aš tradičiškai nedėsiu visokių ožių nuotraukų į savo puslapius. O įdėsiu popierinį arklį, tiksliau jo galvą.

pepakura horse head

Kaip čia taip gavosi? Ogi eksperimentas. Tikriausiai daugelis matė internetuose visokius čiūdikus, kurie pasipuošia visokiais šalmais, ginklais ir panašiai iš visokių filmų ar žaidimų. Rodos tai vadinasi “fandom” ar panašiai. Ir tikriausiai dažnai stebėjotes, kaip jie pasidaro tokius gana gražius pričindalus. Aš irgi ilgai stebėjausi jų kantrybe ir kruopštumu. Poto, išsiaiškinau, kad kruopštumo per daug ir čia nereikia. Ir net toks šiknarankis kaip aš, gali kažką panašaus padaryti. Kaip? Ogi yra tokia programa Pepakura. Jau iškarto, iš rašymo, matosi, kad čia ne amerikonų išradimas, o tai iš gilių popieriaus lankstymų tradicijų šalies, Japonijos. Programa leidžia iš beveik bet kokios 3D redagavimo programos pagaminti popieriaus išklotines kurias galima išpjauti ir suklijuoti į popierinį modelį.

Ir šiaip, štai jums šventinė dainelė, Juodaan Viinaa (įkalkime biški gramą):

Ir žinote ką aš visiems linkių naujais metais? Ogi linkiu jums rasti laiko! Rasti laiko ne tik darbui, miegui ir kitiems fiziologiniams poreikiams, bet rasti laiko hobiui, rasti laiko pamedituoti gamtoje, rasti laiko pabendrauti su įdomiais žmonėm. Rasti laiko ką nors išmokti. Rasti laiko ką nors surasti. Ir rasti laiko paprasčiausiai patingėti!

Hai! ir Amen.

Pabambėsim apie juos

Šiandien, kad pasiblaškyti ir kartu išjudinti tepalus ir pakrauti akumuliatorių, padariau ratuką po miestą. Mano mašinytė tokia biški pilvašliaužė, todėl, kad nekabinčiau pilvu, biški kietesnė pakaba. Tai ne mano išmonė, kai nusipirkau, radau instrukcijose tipo “congratulations, your car is equiped with sport suspension..”. Todėl labai jau jautru visi kelio nelygumai. Diena šiandien tokia tuštoka mieste, taigis sau ramiai važiuoju Savanorių prospektu ir staiga suvokiu, kad kad ir kaip važiuosi, aš visada baladojuos per šulinius. Tai suteikė kryptį meditacijai ir pastebėjau, kad Kaune mane nervina ne šuliniai aplamai, bet tam tikro dizaino šuliniai. Vienoje vietoje neiškenčiau, sustojau ir nufotkinau:

Sulinio dangtis
(fotkė pasididina)

Continue reading →

O žinote, aš vėl sufeilinau paskutinę PCB

… ir visiškai nesuprantu, kodel maketas ant snarglių veikė, o ant padarytos PCB neveikia. Oj kaip aš nekenčiu visokių transformatorių vyniojimų…

Kad neužrūstinti skaitytojus, parodysiu savo stalo naują dizainą. Dabar atsirado “antresolės” ir kartu šiokia tokia atrama ir daiktai nebešliaužia nuo stalo. Taip pat, nišose pasislėpė oscilografas, maitlokiukai ir visokie niekučiai. Monitoriai dabar stovi kiek aukščiau, kas biški man nepatogu, bet tenks kentėti, gal mažiau kuprinsiuos sedėdamas prie stalo.

Levo stalas
Smalsučiams: fotkė pasididina. Galit apžiūrėti “kurybinę betvarkę” atidžiau.

Daugiau kaip ir nėra ką jums papasakoti. Nėra kaip tai laiko.

Viktorina:
1) kiek laikrodžių ant stalo?
2) kiek guli kalkuliatorių?
3) ar Levas turi cianoakrilato klijų?
4) ar mandarinai biški papuvę ir minkšti?

CYPRESS 001: softwarinis USB pasišnekėjimas

Pirmiausia- disclaimer: nieko dar nesuprantu, todėl čia milionas klaidų. Šiaip tai užrašai, kad neužmirsčiau kaip dariau.

Darom naują folderį, jame naują uVision projektą: usbsoft, pasirenkam čipą. Pakeičiam projekto pavadinimą į USBIS.
Į naują folderį kopijuojam failus iš pavyzdinio projekto “bulkloop”:

fw.c – usb firmware.
dscr.a51 – usb įrenginio aprašymas.

folderį inc, kuriame yra: Fx2.h, fx2regs.h, fx2regs.inc, fx2sdly.h, syncdly.h. Šiaip jie visi nereikalingi, ir šiaip galima susikonfiguruoti, kad imtu iš inkludų bibliotekos. Tačiau dar nemoku.
folderį lib, kuriame yra: EZUSB.LIB, USBJmpTb.a51, USBJmpTb.OBJ (tas pats komentaras kaip ir su inc).

Kopijuojam failą “bulkloop.c” ir jį persivardinam kaip savo, sakysim “pimpis.c”.
Failą pimpis.c, fw.c, EZUSB.LIB, USBJmpTb.OBJ, dscr.a51 prikabinam prie projekto.

Kaip ir senesnėje žinutė modifikuojam projekto nustatymus (Options for Target ‘USBIS’): output->create hex, “BL51 Locate” nuimam varnelę, o grafoje “Code Range:” rašom “0×80-0×0FFF”, o “Xdata Range:” rašom “0×1000″.

Failuose “fw.c”, “pimpis.c” … reikia pataisyti nuorodą į inc folderį, nes pas mus jis biški kitaip stovi. Arba folderius iškelti aukščiau. Kol kas, kad nesigadinti, ir kad būtų pilnai “portable” pakeičiam:

#include "inc\fx2.h"
#include "inc\fx2regs.h"
#include "inc\syncdly.h"

Dabar viskas turėtu susikompiliuoti be klaidų ir ispėjimų. Pradedam modifikuoti “pimpis.c” kodą:

Mūsų pradinėm reikmėm yra dvi paprogramės:
Tai inicializacijos TD_Init(void) kurioje surašoma viską ką reikia inicializuoti įjungiant mašinėlę. O kita mums labiausiai dominanti funkcija- TD_Poll(void) kuri visada sukasi, kai tik būna laisvas procesoriukas.

Ten pavyzduke yra zonos kurios prasideda if(!(EP2468STAT & bmEP2EMPTY))… ir if(!(EP2468STAT & bmEP4EMPTY))… va jas pilnai perdarom į nepriklausomas:

if(!(EP2468STAT & bmEP2EMPTY)) { ... } // bulk endpoint 0x02
if(!(EP2468STAT & bmEP6FULL)) { ... } //bulk endpoint 0x86
if(!(EP2468STAT & bmEP4EMPTY)) { ... } //bulk endpoint 0x04
if(!(EP2468STAT & bmEP8FULL)) { ... } //bulk endpoint 0x88

Šios zonos iškviečiamos kai gaunamas užklausimas iš hosto kaip “Bulk in endpoint” ir “Bulk out endpoint” su atitinkamai numeriais. Tie patys endpoint aprašyti “dscr.a51” faile. Bet kol kas neliečiai nei VID/PID nei USB aprašymo.

Kitų paprogramių kol kas neliečiam. Dar į pimpis.c įmečiau kelis globalius kintamuosius, kad persinešinėti informaciją.

Programos veikimo principas toks, kad pagal išorines užklausas atliekam veiksmus su buferiais EP2, EP4, EP6 ir EP8. Dėmesio yra dvigubas buferizavinas, todėl nereikia stebėtis, kad kai kurie informacijos pokyčiai atsiranda “pavėluotai”, tik po antro užklausimo. Nugi dvigubas buferis.

Eksperimentinė programa daro tai:
Host rašymo užklausa 0x02 papračiausiai pasiima vieną baitą iš USB paketo ir paruošia buferį naujam darbui. Aš nesu tikras, ar tik nereikia du kartus pakartoti “rearm” komandos?
Host rašymo užklausa 0x04 irgi protingo nieko nedaro- bando nusiskaityti siustų duomenų ilgį ir šiaip skaičiuoja užklausų kiekį. Informacija pasideda į globalius kintamuosius.
Host skaitymo užklausa 0x86 paprasčiausiai kopijuoja tekstą į USB buferį ir jį persiunčia į hostą.
Host skaitymo užklausa 0x88 paprasčiausiai išspjauna “XXX” seriją, tik keli baitai pakeisti į įvairius seniau surinktus globalius kintamuosius.

Tai tik tiek. Bendravimas su hardware daromas su Cypress USB Control Center
Cypress USB control center

Dabar galima pagal USB užklausas atlikti kokius nors primityvius paskaičiavimus. Tačiau tai softwarinis sprendimas, čia nėra atliekamas tiesioginis GPIO valdymas (Ports mode). Visgi tik antra- pirma pamokėlė. 🙂

Cypress FX2LP soft USB source code.