Casio fx-9860gii SD ile Programlama

İnşaat mühendisliğinin üçüncü sınıfında bir öğrenci olarak gayet güzel bir şekilde günlerimizi geçirirken yapı mekaniğine girecek olan hocamızın bu makineyi almayı şart koşmasıyla zoraki olarak teker teker hepimiz bu makineden aldık. Fiyatı ortalama 300 tl olan bu cihaz bizi fiyat olarak zorladı. Yaptığımız işlemler sadece determinant almaktan öteye geçmedi. Fakat kullanım olarak müthiş. Cihazın fiyat aralığında diğer firmaların ürünlerine göre daha iyi olması en azından beni mutlu etti. Cihazın içerisindeki uygulamalar genel itibariyle mühendislik, matemetik ve finans öğrencileri için çok uygun.

Cihaza verilen destek ile beraber cihazın tüm özelliklerini neredeyse tamamen kullanabilecek duruma gelebiliyorsunuz. Bu yüzden Casio firmasına hayran kalmamak imkansız.

Cihazın içerisinde Casio Basic dili mevcut. Basic dilinin basit yapısıyla hemen ihtiyacınıza ait ufak programlar yazabilirsiniz. Benim en çok sevdiğim bir desteğide C dili ile eklenti yazmak. Bu destek maalesef güncel çalışmıyor sanırım. İşletim sistemi olarak windows 8.1 kullanıyorum ve uyumluluk modunda bile çalışmadı. Belki işletim sistemi 64 bit olduğundan dolayıdır. Bazı forumlarda onunla ilgili bir sorun olabileceğine dair yazılar vardı.

Eğer benim gibi kurcalamayı çok seven insanız size bir iyilik yapıp C dili ile nasıl eklenti yazacağımızı anlatacağım. Belki ülkemizden aynı hesap makinesinden alan yüzlerce kişiden birisi çok güzel uygulamalar ile diğer kullanıcılara yararlı işler çıkarabilir. İnşallah ben de bu konuda ön ayak olabilirim.

Konumuza dönersek ilk ne yapmamız gerektiğini anlatıyorum.

1) Kaynak araştırması :
Her şeyden önce elimizde cihaz için neler yazılmış ve nasıl uygulamalar geliştirilmiş onlara bakıyoruz. Aşağıdaki siteler bizim makinemiz için gerekli kaynakları sağlamaktadırlar.

Casiopeia : İçerik ve tasarım olarak diğer sitelerden daha kullanışlıdır. Bir çok uygulamaya buradan ulabilirsiniz.

Planet-Casio : Fransızcanın hakim olduğu sitedir. İngilizce içerik zayıftır. Ama yine çok kullanış bir sitedir. İçerik olarakta tatmin edicidir. Oyunlar kısmında bol oyun bulabilirsiniz.

Cncalc : Çince içerikli bir sitedir. İngilizce olarak sadece makinenin ismini görürseniz şaşırmayın. Aslında bir çok hesap makinesinin modifiye edenlerin buluştuğu bir acaip site diyebilirim. Kaynak olarak harika fakat ingilizce içerik olmamasından dolayı sıkıntı yaratmaktadır.

community.casiocalc :   İçerik olarak az olsada yine de göz atılabilecek bir sitedir. Diğer sitelerden daha güncel olarak kullanılıyor.

Edu Casio : Casionun hesap makineleri için içerik sağladığı sayfadır. Buradan hesap makinesi için kullanma kılavuzu ve içerisinde Casio Basic'in kullanımıda bulunur. Ayrıca güncelleştirme paketleri, Hesap makinesini bilgisayara bağlamak için gerekli olan Fa-124  yazılımı ve hesap makinesine geliştrme yapabilmek için sdk paketide bulunur.

Koppermind : fx-9860 için güzel uygulamalar yazan güzide insan. Aslında bu hesap makinelerinde mühendislik uygulamalarının ne güzel geliştirebileceğini kanıtlıyoruz. Kendisi mylib adında çok kullanışlı uygulamanın da sahibidir. Mutlaka kendi C dili ile yazdığınız eklentilerinizde bu kütüphaneyi kullanın. Çünkü zaman tasarrufu ve pratik bilgiler sağlıyor.

2) Elde edilen kaynakların kullanılması:
Elimizde yeterli kaynağı oluşturduktan sonra nasıl devam edeceğimize karar vermemiz gerekmektedir.

Casio Basic ile devam etmek istiyorsak  *.G1M ve *.G2M uzantılı oyun ve yazılımlarla ilgilenmemiz gerekmektedir. Bu yazılımları şifrelenebilir yahut açık olarak dağıtılabilir. Derlenme işlemi olmadığı için anlık olarak yorumları ve her zaman içerik değiştirilebilir. Bu yazılımlar hesap makinesinin PROGRAMS uygulamasının altında yer almaktadır. Uygulamanızı ilk makinenizde oluşturup sonradan Fa-124 ile bilgisayarına aktararak oradan devam edebilirsiniz.

C dili ile eklenti yazmak istiyorsak. *.G1A uzantılı oyun ve yazılımlarla ilgilenmeliyiz. Genelde bu uygulamaları geliştirilen geliştiriciler kaynak kodunuda sunar. Bu sayede kendi yazılımını ileride siz yada bir başkası tekrar geliştirebilir ve daha kullanışlı hale getirebilir. Zaten bu hesap makinelerine yazılan uygulamalar çok iyi nitelikte bir ürün çıkaramazsınız. İşlemlerinizde kolaylık sağlayabilecek ufak uygulamalar yazarsınız. Bunun da maddi karşılığı pek olmayan şeyler diyebiliriz.

Her neyse C dili ile eklenti yazmak için mutlaka edu.casio sayfasına üye olarak 9860g nin sdk paketini indirmek gerekiyor. Ancak bu ürünü Windows 8.1 denediğimde çalıştıramadım belki diğer güncel işletim sistemlerinde çalışır. Ben hiç uğraşmadan direk vmware player programının içerisine windows xp yi kurarak oradan geliştirme yaptım.

 3) Kaynakların kullanılarak uygulama geliştirilmesi:
Gerekli bilgileri edindikten sonra  sıra uygulama geliştirmeye geldik. Öncelikle programı kuruyoruz. Sizi uğraştırmamak için tüm belgeleri ve kurulum programlarının hepsini aşağıda indirme adresini veriyorum.

1) File menüsünde yeni dosya oluşturma açma kapatma gibi işlemler yapabilirsiniz.
2) Project menüsünden yeni proje oluşturabilir açabilir ve açılan projeyi derleyebilirsiniz.
3) Run menüsünden projeyi çalıştırma çeşitleri mevcuttur.
4) Debug yapmak için gerekli seçeneklerin bulunduğu kısımdır.
5) Gözükmesini istediğiniz pencerelerin olduğu kısımdır.

Şimdi yeni proje oluşturalım.

Projeyi oluşturduktan sonra aşağıdaki uyarıyı verecektir. Projenin derlenmiş halini bulamadım . İlk önce projeyi derleyin diyor. 

 Yukardaki simgeye tıklayarak derliyoruz.

Yukarıdaki çıktıları elde ettiğinizde proje başarılı şekilde derlenmiş demektir.
Şimdi Ornek.c dosyasını açalım.

Açılan pencereyi genişleterek içeriğin neler olduğuna bakalım.
1) fxlib.h kütüphanesini projeye dahil ediyoruz. Bu kütüphanenin içerisindeki fonksiyonların verdiği kadar uygulama geliştirebiliriz. Kütüphane başlıklarınız fxlib.h kütüphane başlığının altına ekleyin.

2) Eklentimizin çalıştırılacağı fonksiyondur. Bu fonksiyon içerisine yazdığınız kısım eklenti ilk çalıştıdığında çalıştırılır. Menu tuşuna veya exit tuşuna bastığınızda tekrar yüklenmez.

3) Bu fonksiyon çağrıldığında ekran temizlenir. Ekrana yeni bir yazı bastıracağınızda bu fonksiyonu kullanmalısınız.

4) bu fonksiyon ise şuan ki koordinatın sizin verdiğiniz koordinat değerlerine göre belirler. Fakat bu koordinatlar sınırlıdır. Bunu sdk kitapçığından öğrenebilirsiniz.

5) Bu fonksiyon ise tırnak ("") içerisine yazdığınız karakter yadar ekrana yazı basar.

6) While döngüsü içerisine konulan GetKey fonksiyonu ile klavyeden bir tuşa basılmasını bekler. Bu while döngüsü ile program kapanıncaya kadar devam eder.While döngüsüne 1 koyulmuştur. Bu değer ikilik sisteme göredir. Sadece 0 yada 1 olmalı. Eğer her tıklandığında uygulamanın açılmasını istiyorsanız while döngüsü içerisine koymalısınız.



1) 1 değerini döndürmesinin sebebi yukarıdaki açıklamada da okunduğu gibi eklentinin hatasız kapandığıdır.
2) Bu kısım bizim hiç karışamamız gereken kısımdır.

Şimdi eklentiyi çalıştıralım.


1) Hesap makinesinin simülasyonunu açar ve içerisinde eklentiyi menüye atar.
2) Simülasyonu durdurur.
3) Debug modunda iken kırılma noktasından(breakpoint) sonra adım adım gitmek için buraya basmalıyız.
4) Kırılma noktasından sonra işlemleri bitirmek için simülasyonun olduğu gibi çalışmasına  onay verir. Eklenti olduğu gibi çalışmaya devam eder ve sonlanır.
5 - 6 - 7) Bulunduğunuz satıra breakpoint işareti ekler.

Klavyedeki oklar yardımı ile eklentiyi bulduk ve exe butonuna bastık. Eğer bmp formatındaki resmi düzeltmediyseniz Debug diye yazı yazar.

Simülasyonu durduralım ve mylib kütüphanesini eklentiye dahil edelim.




Yukarıdaki işlemleri uyguladıktan sonra fxlib.h kütühanesinin altına ekledik. Şimdi de bir merhaba yazalım. Böylelikle Casio'nun  kendi çıktı fonksiyonları arasındaki farkı görelim.


Yukarıdaki şekilde değişiklikleri yaptıktan sonra simülasyonu çalıştralım. Ve çıktıyı görelim. Bu çıktııda yazıların küçük olamasının sebebi, fxlib.h fonksiyonu olan PrintMini() kullanılmıştır. Bunu biz değil mylib in kendisi yapmıştır. Mylib kütüphanesi için daha fazla bilgi için örneğini proje olarak derleyin. Yahut mylibt.g1a dosyasını fa-124 uygulaması ile hesap makinenize atarak inceleyin.

Bu arada daha rahat kod yazımı için editorde iken sağ tıklayıp properties e tıklayın. Yukarıdaki gibi değerleri verirseniz otomatik sekme alt satıra üstü kadar inme işlemlerini yaparsınız.


Önceki şekilde yazdığımız uygulama sadece bir kere açılıyordu. Şimdi while döngüsü içerisinde GetKey fonksiyonunun altına koyduğumuzda artık hep fonkisyon umuz çağrılacak ve fonksiyonumuzun içerisindeki işlemler tekrarlanacaktır.


Sonuç:

Bu yazı ile gerekli olan başlangıcı yaptığımı umuyorum. Uzun araştırmalar sonucu bir çok bilgi edindim ve bu bilgilerin birazını vakit yetersizliğimden dolayı  aktarabildim. Hesap makinesi için uygulama geliştirmesi C ve Basic ile çok kolaylaştırılmış. İşletim sisteminde dolayı oluşan sıkıntılar için açık kaynaklı projede mevcuttur. Bu proje Gnu/Linux  çok güzel çalışıyor..

Kaynaklar :

Belgeler

Yorumlar

  1. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  2. Bilgi paylaştıkca eksilmez çoğalır bizim millet bildiğini kendine saklıyor. 9860 ve inşaat müh. konuları hakkında yazılarınız dört gözle bekli yorum

    YanıtlaSil
  3. Yorum için teşekkürler :) . Bayağı bir bilgi birikimi olmuştu hesap makinesiyle ilgili :). Bir ara yazmayı düşünüyorum. Konu kapsamlı ve hatalarla dolu bir editor kullanarak program yazılıyor. Ayrıca başka bir kütüphane kullanmak zorunda kaldığım için onunda düzeltmeleri gerekiyor.Bir bakayım Şubat gelmeden bir şeyler yazmaya başlarım :).

    YanıtlaSil
  4. Beyefendi ben bu hesap makinesinden okul da dersler için aldım fakat nasıl kullanılacağını bilmiyorum internet te kullanım video ları ve kaynak sizden başka yok bana yardımcı olabilir misiniz

    YanıtlaSil
    Yanıtlar
    1. Merhaba nasıl yardımcı olabilirim? Nerde takılıyorsunuz?

      Sil
    2. .G1A UZANTILI DOSYAYI AÇAMIYORUM İÇİNİ DÜZENLEMEK İÇİN .G1W ACIYO AMA DEĞİŞTİREMİYORUM NASI YAPARIM SENCE

      Sil

Yorum Gönder

En Popüler Yayınlar

Windows da Mingw ile Qt yi statik derlemek

Utku Radyo