Printa ya Lebeli Inadanganya Kuhusu DPI

Kiunganishi (driver) cha Web Bluetooth cha chanzo huru kinaonyesha kuwa printa ya lebel ya Niimbot N1, inayotangazwa kama kifaa cha dpi 300, kwa kweli huchapa kwa takriban dpi 203.

Mkutengenezaji alitengeneza kiunganishi hiki ili kuchapa moja kwa moja kutoka kwenye ukurasa wa wavuti badala ya kutumia programu ya simu ya Niimbot. Alifanya uhandisi wa kurejesha (reverse-engineered) itifaki ya kipekee na kuifanya iweze kutumiwa na vivinjari kupitia Web Bluetooth API. Katika kufanya hivyo, aligundua si tu kipengele kilichokosekana, bali pia makosa ya msingi ya maelezo ya kiufundi ambayo yanaweza kuharibu ufungaji wa bidhaa za kiasi kidogo, lebo za stoo, au miradi ya hobby ambapo usahihi ni muhimu.

Jinsi makosa ya maelezo ya kiufundi yalivyojitokeza

Niimbot inauza N1 kama printa ya dpi 300, ikimaanisha nukta 300 kwa kila inchi. Mkutengenezaji alichapa picha ya kipimo cha rula na mchoro wa majaribio wenye namba, kisha akapima alama hizo kwa rula halisi. Hesabu zilionyesha mara kwa mara kuwa ni takriban dpi 203, na si dpi 300 kama ilivyodaiwa.

Mafunzo manne ya thamani kutokana na kuandika kiunganishi cha kifaa

  1. Kazi "iliyofanikiwa" inaweza isitoe kitu. Printa hutuma data kwa vipindi (bursts). Kwenye baadhi ya mifumo, Bluetooth stack hupoteza data inayozinduliwa bila kutoa taarifa ya hitilafu. Kiunganishi huchukulia kuwa kazi imekamilika, lakini lebel inatoka ikiwa tupu au imekatika. Mwandishi sasa husoma kicheza hesabu cha kurasa (page counter) cha printa baada ya kila kazi ili kuhakikisha kuwa karatasi ilipelekwa kweli.

  2. Maelezo ya maandishi si uhalisia. Dai la dpi 300 ni mfano wa wazi. Maelezo ya kiufundi yanaweza kuwa ya matumaini kupita kiasi, yaliyopitwa na wakati, au makosa tu. Watengenezaji lazima wapime vigezo muhimu wenyewe wakati usahihi wa picha unahitajika.

  3. Alama halisi ni bora kuliko majaribio ya "kutoshea". Kuchapa picha ili kuona kama inatoshea kwenye eneo la lebel huficha matatizo ya azimio (resolution), upana wa kichwa cha printa, au makosa ya mkao (offset). Kuchapa alama ya kijiometri inayojulikana na kupima mahali pake halisi hufichua tabia halisi ya kifaa.

  4. Itifaki inaelezea kanuni, si tabia ya kifaa. Printa mbili zinaweza kuwa na seti sawa ya amri lakini zikafanya kazi tofauti—moja inahimili marudio ya haraka ya kurasa, nyingine inakwama. Kiunganishi hakiwezi kudhania utendaji sawa kulingana na maandishi ya itifaki pekee; kila modeli inahitaji majaribio ya ulimwengu halisi.

Kwa nini kiunganishi hiki ni muhimu

Kiunganishi hiki hakijawahi kujifanya kinajua kila kitu. Kila wakati kinapokisia thamani badala ya kuisoma moja kwa moja kutoka kwenye printa, kinaweka alama kwenye sehemu hiyo kuwa ni makisio. Uwazi huu huzuia makosa ya kimya ambayo yangechukua saa nyingi za kutafuta hitilafu (debugging).

Kupata kiunganishi

Kiunganishi hiki kinafanya kazi kwenye Chrome au Edge na kinahitaji tu kifaa chenye Bluetooth na printa ya Niimbot inayoungwa mkono. Jaribu onyesho la moja kwa moja (live demo) hapa:

https://iscarelli.github.io/niimbot-web-bluetooth/demo/

Msimbo chanzo (source code) upo kwenye GitHub, ambapo jamii inaweza kuchangia data za modeli, kurekebisha hitilafu, au kukirekebisha kiunganishi kwa ajili ya vivinjari vingine:

https://github.com/iscarelli/niimbot-web-bluetooth

Wamiliki wa Niimbot wanaweza kusaidia kujaza kanzi data (database) ya modeli; mchakato huo huchukua takriban dakika kumi na lebel mbili.

Upande wa pili

Mpaka kampuni itakapofafanua tofauti hiyo, watengenezaji lazima wafanye kazi kwa kutumia thamani iliyopimwa.

Funzo ni rahisi: kifaa unachokitumia kutoka kwenye ukurasa wa wavuti kinaweza kisifanye kile ambacho karatasi yake ya maelezo inahakikisha. Hakiki vigezo muhimu, tarajia hitilafu za kimya, na chagua viunganishi vinavyofichua kutokuwa na uhakika badala ya kuuficha.