Kodda bir hata yapıp yedeğini de sildiğim için yıllardır bir köşede duran "chrono+" kodunu dün düzeltebildim. Kod hala çok çirkin,biraz daha düzenledikten sonra yayınlayacağım. Saptayabilmek için saatlerimi harcadığım hata ise, C++'ya yeni başlayanların sıkça yaptığı, benim de başkalarının kodunda genellikle kolay yakaladığım bir şeydi, şunun gibi.
C++'ya aşina olanlar buradaki hatayı hemen görmüştür. Basitçe açıklayalım:
main() içindeki scr değişkeninde rasgele, anlamsız bir adres var. Bu adresi kullanarak bir fonksiyon çağırdığımızda(init()), bu adres çağırılan fonksiyona kopyalanıyor. init() içindeki new komutuyla scr değişkenine yeni ve anlamlı bir adres atanıyor. Fakat scr ile screen aynı değişken değil, sadece başta aynı değere sahitiler. Bu yüzden init() fonksiyonundan sonra screen'in değeri değişmiyor, aynı anlamsız adresi göstermeye devam ediyor. Buraya geldiğinizde hala kafanız karışıksa şu kodu çalıştırmayı deneyin:
Kendi koduma gelince, dediğim gibi, biraz daha adam ettikten sonra "arıza" adıyla yeniden yayınlayacağım. Şimdiki haliyle, "canavar"'ın yayınladığı halinden pek bir farkı yok, görünüş olarak.
21 Temmuz 2009
28 Mayıs 2009
İlk çalışan çekirdeğim
Daha önce farklı zamanlarda bilgisayar ve gömülü cihazlar için çekirdek derlemeyi denemiştim. Sonuç ya derleme hatası, ya da "kernel panic" oluyordu. Dün ilk defa ARM9 kullanan bir kart için derlediğim çekirdek çalıştı.
Anlaşılan, sadece çekirdeğin ayarlarını düzgün yapmak yetmiyor, çekirdeği derlemek için kullandığımız derleyiciyi(benim için bu arm-...-gcc) doğru ayarlarla ve hatta doğru derleyiciyle derlememiz gerekiyor.(gcc 4.3 yerine 3.6, ortam olarak da dash degil bash).
Anlaşılan, sadece çekirdeğin ayarlarını düzgün yapmak yetmiyor, çekirdeği derlemek için kullandığımız derleyiciyi(benim için bu arm-...-gcc) doğru ayarlarla ve hatta doğru derleyiciyle derlememiz gerekiyor.(gcc 4.3 yerine 3.6, ortam olarak da dash degil bash).
19 Şubat 2009
Biraz daha kasaplık
Dünkü dişi USB kasaplığımdan sonra bugün bir tane B tipi erkek fiş elde ettim. İkisini güzelce lehimleyip epoksi işle yapıştırmayı planlıyorum. Bunda silikon kullanılmadığı için ayıklamak kolay oldu.
Kasaplık antrenmanı
Neo Freerunner üstündeki USB prizinin OTG değil de mini-usb şeklinde olması biraz sinir bozucu, çünĸü piyasada bunu dişi USB prizine dönüştüren bir kablo yok. Ben de bu yüzden kasaplık ederek bir USB-PS/2 çeviricinin içinden USB prizini ayıkladım.

Aradaki kablolar sıcak yapıştırıcı(silikon) ile kaplı olduğu için bunu ayıklamak biraz zaman aldı. Falçata kullanarak adım adım kırptım silikonu ama sonuçta çıplak ve seksi bir prizim oldu. Şimdi bu prizin bir de diğer ucunu elde etmek var, yakında onu da yaparım. Diğer yandan tesadüfen(malzeme dükkanında bir yanlış anlama sonucu) elime aşağıdki güzellik geçti.

Bu sayede standart USB kabloları kullanarak abuk fikirlerimi deneyebilirim. Yakın zamanda bir kaç Freerunner projesi yapıp yayınlamayı düşünüyorum.
Aradaki kablolar sıcak yapıştırıcı(silikon) ile kaplı olduğu için bunu ayıklamak biraz zaman aldı. Falçata kullanarak adım adım kırptım silikonu ama sonuçta çıplak ve seksi bir prizim oldu. Şimdi bu prizin bir de diğer ucunu elde etmek var, yakında onu da yaparım. Diğer yandan tesadüfen(malzeme dükkanında bir yanlış anlama sonucu) elime aşağıdki güzellik geçti.
Bu sayede standart USB kabloları kullanarak abuk fikirlerimi deneyebilirim. Yakın zamanda bir kaç Freerunner projesi yapıp yayınlamayı düşünüyorum.
15 Şubat 2009
Beagleboard ustunde ogre3d
Beagleboard, TI OMAP tabanlı, özgür yazılım kullanan bir "single board computer" projesi. Bu şirin canavar üzerinde 3B oyun motoru Ogre'ı çalıştırmışlar. İşin eğlenceli kısmı, aleti TI'nin mini projektörü DLP ile yansıtıp wiimote ile kumanda etmişler. Vidyo aşağıda:
11 Şubat 2009
GP2X'e Nokia pil takmak
2006'da bu cihazı aldığımdan beri bir şekilde buna Li-iyon pil takmak istiyordum. Bir kaç ay önce GP2X'imin pil kısmı bozulunca 'artık bu işin zamanı geldi' dedim. Nasıl yaptığımızı anlatalım.
Öncelikle uyarımızı yapalım: Buarada yazanlar, kişinin kendi deneyimidir. Okuyucuya faydalı(ya da eğlenceli) olması temennisiyle yazılmıştır. Burada yazanların uygulanmasından doğacak hiç bir hasar, yaralanma veya başka türlü bir zarardan yazar sorumlu değildir.
Evet, nerede kalmıştık? Hah, işte malzemeler:
* Nokia 3310(kapakları ve ekranı sökülmüş)
* "Yan sanayi" ürünü 1300 mA-saat Li-iyon pil
* GP2X kasaya uyan bir 'jack'
* Kırmızı ve siyah teller
* Havya, lehim, ıslak sünger vs.

GP2X güç kablosunun içi -, dışı +'dır. Dikkat etmemiz gereken en önemli şey bu. Elektrik mühendisliğinde standart olduğu üzere iç kısma siyah, dış kısma kırmızı tel lehimleyip ölçme aletiyle kontrol ediyoruz. Daha sonra siyah teli telefonun - yazan kısmına, kırmızı teli de + yazan kısmına takıyoruz:

Dikkatlice pilimizi yerleştiriyoruz:

GP2X'i bağlamadan önce son ölçümü yapıyoruz. Ölçü aletinin siyah kablolu ucunu "jack"ın içine, kırmızı kablolu ucunu dışına değdiriyoruz. 3,7 gibi bir değer görmemiz gerekiyor(DİKKAT: -3,7V olmaması gerek!)

O da nesi, 4,1V?

Biraz yüksek bir gerilim ama GP2X içinceki gerilim düzenleyici için bunun sorun olmaması gerekiyor. Deneyelim bakalım.

Çalıştı! Açıp 5 dakika kadar Ghostpics oynayıp kapattım. Pilin ne kadar gittiğini ve GP2X açıkken nasıl şarj olduğunu henüz denemedim.
Afiyet olsun
Düşünceler:
Yeterli el becerisine sahip biri için oldukça kolay bir işlem. Benim gibi beceriksizleri ise biraz uğraştırıyor. Bu haliyle elde tutması ve yanında taşıması pek rahat olmadı. Eğer bir telefon yerıne daha hafif bir şarj cihazı kullanılırsa daha pratik olur. Ayrıca pil bölmesinin çıkıntısını keserek yerden tasarruf edilebilir ancak ben kasaya şimdilik zarar vermek istemiyorum.
Çıkıntıyı hafıften kserek ya da kesmeden, sadece pili takrak çalıştırmak da bir seçenek, ama o zaman pili doldurmak için sökmeniz gerekir.
Bu "hack"in en zarif hali, GP2Xin içine bir şarj devresi yerleştirip, kendi güç adaptörüyle pilleri doldurmasını sağlamak olacaktır. Bu nisbeten daha zor ve zaman isteyen bir iş olduğundan yakın zamanda yapmayı düşünmüyorum.
Buradan bir arkadaşımın önerisi de, kabloyu uzun tutup pili cebimde taşımamdı. Kullanım ve taşıma için kullanışlı olacağı kesin ama bunu kullanırken insanlar size nasıl bakar bilmiyorum.
Öncelikle uyarımızı yapalım: Buarada yazanlar, kişinin kendi deneyimidir. Okuyucuya faydalı(ya da eğlenceli) olması temennisiyle yazılmıştır. Burada yazanların uygulanmasından doğacak hiç bir hasar, yaralanma veya başka türlü bir zarardan yazar sorumlu değildir.
Evet, nerede kalmıştık? Hah, işte malzemeler:
* Nokia 3310(kapakları ve ekranı sökülmüş)
* "Yan sanayi" ürünü 1300 mA-saat Li-iyon pil
* GP2X kasaya uyan bir 'jack'
* Kırmızı ve siyah teller
* Havya, lehim, ıslak sünger vs.
GP2X güç kablosunun içi -, dışı +'dır. Dikkat etmemiz gereken en önemli şey bu. Elektrik mühendisliğinde standart olduğu üzere iç kısma siyah, dış kısma kırmızı tel lehimleyip ölçme aletiyle kontrol ediyoruz. Daha sonra siyah teli telefonun - yazan kısmına, kırmızı teli de + yazan kısmına takıyoruz:
Dikkatlice pilimizi yerleştiriyoruz:
GP2X'i bağlamadan önce son ölçümü yapıyoruz. Ölçü aletinin siyah kablolu ucunu "jack"ın içine, kırmızı kablolu ucunu dışına değdiriyoruz. 3,7 gibi bir değer görmemiz gerekiyor(DİKKAT: -3,7V olmaması gerek!)
O da nesi, 4,1V?
Biraz yüksek bir gerilim ama GP2X içinceki gerilim düzenleyici için bunun sorun olmaması gerekiyor. Deneyelim bakalım.
Çalıştı! Açıp 5 dakika kadar Ghostpics oynayıp kapattım. Pilin ne kadar gittiğini ve GP2X açıkken nasıl şarj olduğunu henüz denemedim.
Afiyet olsun
Düşünceler:
Yeterli el becerisine sahip biri için oldukça kolay bir işlem. Benim gibi beceriksizleri ise biraz uğraştırıyor. Bu haliyle elde tutması ve yanında taşıması pek rahat olmadı. Eğer bir telefon yerıne daha hafif bir şarj cihazı kullanılırsa daha pratik olur. Ayrıca pil bölmesinin çıkıntısını keserek yerden tasarruf edilebilir ancak ben kasaya şimdilik zarar vermek istemiyorum.
Çıkıntıyı hafıften kserek ya da kesmeden, sadece pili takrak çalıştırmak da bir seçenek, ama o zaman pili doldurmak için sökmeniz gerekir.
Bu "hack"in en zarif hali, GP2Xin içine bir şarj devresi yerleştirip, kendi güç adaptörüyle pilleri doldurmasını sağlamak olacaktır. Bu nisbeten daha zor ve zaman isteyen bir iş olduğundan yakın zamanda yapmayı düşünmüyorum.
Buradan bir arkadaşımın önerisi de, kabloyu uzun tutup pili cebimde taşımamdı. Kullanım ve taşıma için kullanışlı olacağı kesin ama bunu kullanırken insanlar size nasıl bakar bilmiyorum.
29 Ocak 2009
Pandora heyecanı
Kasanın ilk FDM prototipinin hazırlanmasından sonra "EvilDragon" anakart ve ekranı monte ederek ilk tamamlanmış Pandora cihazı çalıştırdı. 2 yıl kadar süren bir tasarım ve tartışma süreci sonunda üretim zamanı artık geldi. Vidyonun bulunduğu forum sayfası şurada:
http://forum.gp2xtr.com/index.php?topic=1167.0
http://forum.gp2xtr.com/index.php?topic=1167.0
Kaydol:
Kayıtlar (Atom)
