รอคอยมานานแต่ไม่รู้ว่าสิ่งที่รอคอยมันคืออะไร
สำหรับคนที่เคยเขียนโปรแกรมลงเครื่องคิดเลขคาสิโอ ถ้าเคยเขียนโปรแกรมมิ่งบนระบบใหญ่ๆมาก่อนเช่นจาวา ซี หรือไพทอน จะรู้สึกว่าโดนมัดมือมัดเท้าทำอะไรไม่ถนัด ภาษาเบสิคของคาสิโอ (basic casio) ก็ดูจะหน่อมแน๊ม ตัวแปรก็จำกัดไม่กี่ตัว เมมโมรีสำหรับเก็บโปรแกรมก็น้อยนิดเดียว เขียนฟังก์ชั่นก็ไม่ถนัด ก็เลยได้แต่โปรแกรมอะไรที่ง่ายๆ ใช้ตัวแปรไม่มาก แต่ไม่นานที่ผ่านมา เผอิญไปค้นหาในอินเทอร์เน็ต โดยที่หาโปรแกรมแบบ basic casio บนเครื่องคิดเลขระดับเทพในวงการสำรวจบ้านเราคือ fx-9860G II SD ที่ผมเคยร่ำๆจะซื้อหามาใช้หลายเที่ยวแต่ติดที่ความรู้สึกว่าแพงไปนิดเมื่อเทียบกับ fx-5800P ที่ใช้อยู่ โปรแกรมที่ค้นหาก็ไม่ได้มีอะไรมากแค่เอามาเปรียบเทียบอัลกอริทึ่มที่ผมมีอยู่ บังเอิญไปเจอว่าการเขียนโปรแกรม AddIn ต้องใช้ SDK (Software Development Kit) ที่ต้องใช้ภาษาซี ก็เลยสะดุดตา ลองค้นเข้าไปอีกหน่อย ก็พออนุมานได้ว่าสามารถเขียนโปรแกรมอะไรก็ได้แบบ AddIn ให้กับเครื่องคิดเลข ที่ไม่ติดจำกัดด้านโครงสร้างภาษาเพราะใช้ภาษาซี ที่คาสิโอเตรียมคอมไพเลอร์ ไลบรารีเครื่องมือพัฒนาโปรแกรมด้านภาษาซีมาพอประมาณ สุดท้ายผมก็เลยมานึกว่า ก่อนหน้านี้ผมคงต้องรอคอยอะไรบางอย่างมานานแต่ไม่รู้ว่าคืออะไร จนกระทั่งได้เจอสิ่งนี้ 🙂 มันใช่เลย ถึงแม้ตอนเจอดูเหมือนผมจะมาสายไปบ้างก็ตาม
อารมณ์มัน Back to school คือความสนุกสนานได้กลับมาอีกครั้ง ผมเคยพูดถึงว่าเครื่องรุ่นเทพสมัยแต่ก่อนคือ Casio fx-880P ที่เขียนภาษาเบสิค(แบบกำกับด้วยหมายเลขบรรทัด) เวลาพกเครื่องคิดเลขรุ่นนี้ ถ้าเอาเท่ห์ก็เอาเหน็บที่กระเป๋าหลังของกางเกงยีนส์ แต่บ่อยครั้งที่ลืมนั่งทับจนเครื่องพัง ที่สามารถเขึยนโปรแกรมได้พอประมาณ แต่ปัญหาคือเมมโมรีที่จัดเก็บโปรแกรมมาน้อย ถึงแม้สามารถซื้อแรมขนาด 32KB มาเพิ่มได้ก็ตาม เคยเขียนโปรแกรม Traverse เล่นๆลงไปเขมือบเมมโมรีไปเกินครึ่ง จนต้องลบโปรแกรมอื่นทิ้งไป ถึงจะใส่ได้ การจะโอนโปรแกรมไปหาเครื่องอื่นก็แสนยากเย็นกระไร เพราะต้องหาสายลิ๊งค์ สมัยก่อนไม่มีอีเบย์ ก็เลยใครอยากได้โปรแกรมอะไรก็ต้องพิมพ์เองสดๆลงไปในเครื่อง ประมวลผลดูผิดตรงไหนก็ตามไปแก้ สำหรับเครื่องคิดเลขในทศวรรษนี้ไม่ต้องทำแบบนั้นแล้วครับมีสายลิ๊งค์มาให้ หรือรุ่น fx-9860G II SD ก็มี SD card มาให้สามารถโอนโปรแกรมให้กันได้สะดวก
รู้จัก Casio fx-9860G II SD
เครื่องรุ่นนี้ออกเก็บเกี่ยวความสำเร็จตามหลัง fx-9750G โดยที่ผลิตออกมาสองรุ่น รุ่นแรกเคสสีเงินส่วนคีย์บอร์ดสีน้ำเงิน ใช้ CPU SH3 รุ่นที่สองเป็นรุ่นล่าสุดเคสสีน้ำเงินเข้มส่วนคีย์บอร์ดสีขาวใช้ CPU SH4a มีเมมโมรีใช้งาน 62 KB (ขนาดน่าสงสารมาก) มีพื้นที่จัดเก็บโปรแกรม (storage memory) เป็น 1.5 MB ที่ผมประเมินดูโปรแกรมขนาดกลางๆสำหรับเครื่องคิดเลขขนาด น่าจะประมาณ 50000 Bytes ถ้าพื้นที่จัดเก็บโปรแกรม 1.5 MB น่าจะใส่โปรแกรมได้ไม่ต่ำกว่า 30 โปรแกรมเลยทีเดียว โดยรวมการประมวลผลเร็วครับ ตามความเข้าใจผมตัว OS ของรุ่นนี้น่าจะกินเมมโมรีไม่มากนัก ที่ผมชอบอีกอย่างคือพื้นที่การแสดงผล ถ้าเอาแบบแสดงตัวอักษรอย่างเดียว ได้ทั้งหมด 8 แถว (row) และแถวละ 21 ตัวอักษร ถามว่าพอไหม ก็ตอบได้ว่าพอครับแบบเบียดเสียดไปหน่อย แต่ยังโอเคกว่ารุ่น fx-5800P ที่มีแค่ 2 บรรทัด แต่อย่างไรก็ตามยังมีโหมดกราฟฟิคมีความละเอียดกว้าง x สูง = 127 x 63 สำหรับวาดกราฟ ก็มาดูขนาดโปรแกรมแปลงพิกัดภูมิศาสตร์ของผม UTMGeo.g1a คือโปรแกรมที่คอมไพล์และบิวท์ (compile & build) มาแล้ว ขนาดประมาณตามรูป 78760 ไบต์ ส่วนโปรแกรมสองโปรแกรมด้านบน (ARCCENPT.g1a และ INTERSCT.g1a) ผมก็เขียนเหมือนกันแต่ขนาดเล็กกว่า
ตามล่าเครื่องมือพัฒนาโปรแกรม SDK (Software Development Kit)
เมื่อรู้ว่าใช้ภาษาซีเขียนได้ ผมก็ตามหาเครื่องมือเพื่อพัฒนาโปรแกรม แต่เนื่องจากรุ่นนี้ออกมาได้หลายปีร่วมๆสิบปีแล้ว (ออกมาปี 2009) เข้าไปในเว็บไซต์ของคาสิโอแต่กลับพบกับผิดหวัง ไม่มีลิ๊งค์ให้ดาวน์โหลด (Link ขาดไปนาน) ทั้งๆที่คู่มือต่างๆเช่นการใช้งาน SDK, ไลบรารี ต่างๆก็ยังมีให้ดาวน์โหลดปกติแต่เครื่องมือพัฒนาโปรแกรมตั้งแต่เขียนโปรแกรม คอมไพล์ บิวท์ กลับหายไป สุดท้ายต้องลงใต้ดินตามหา จนเจอยังมีคนปล่อยให้ดาวน์โหลดได้ แต่ต้องใช้ระยะเวลาความพยายามเป็นอาทิตย์เหมือนกัน ผมจะไม่แสดงลิ๊งค์นี้เพราะอาจติดขัดกับลิขสิทธิ์ของคาสิโอได้ (ถ้าใครอยากได้ก็ขอมาหลังไมค์ละกันครับ) เมื่อได้มาแล้วก็มาลงบนคอมพิวเตอร์โน๊ตบุ๊ค วินโดส์ 10 และจอของผมเป็น 4K ก็ไม่ได้มีปัญหาอะไร สามารถเปิดโปรแกรมมาได้ปกติ เครื่องมือพัฒนาโปรแกรมเรียกว่า integrated development environment (IDE) ตั้งแต่ปล่อยมาปี 2007 Casio ไม่เคยอัพเดทอีกเลย เครื่องมือนี้ใช้คอมไพเลอร์ของ Renesas SHC ซึ่งอิงภาษาซีของ ANSI C standard (C89)
เริ่มแรกใช้งานกับปัญหาที่ประสบ
แต่พอเริ่มคอมไพล์โปรแกรมทดสอบเล็กๆดูกลับมีปัญหาเล็กๆน้อยๆ เช่น ** L2011 (E) Invalid parameter specified in option “input” : “”C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj”” วิธีการแก้ไข ให้ถอนโปรแกรมไปติดตั้งใหม่ แต่ตอนติดตั้งให้ติดเลือกติดตั้งที่รากของไดรว์ C: (ไม่เลือกดีฟอลต์คือติดตั้งลง C:\Program fils(x86) เพราะโปรแกรมนี้รุ่นเก่าไม่ชอบ path ทีมีตัว space) ปัญหาเล็กๆน้อยๆ เหล่านี้พอหาได้ตามฟอรั่มที่เกี่ยวข้องกับเครื่องคิดเลขของคาสิโอครับ แต่แล้วเส้นทางนี้ไม่ได้โรยด้วยกลีบกุหลาบ ปัญหาที่นึกไม่ถึงคือ user interface ทางคาสิโอไม่ได้เตรียม document ไว้ให้เลย พวกสิ่งเหล่านี้ได้แก่การ input แม้กระทั่งการอ่านข้อมูลจากตัวแปรตัวอักษร A-Z ก็ไม่ได้ทำไว้ ข้อมูลเป็นตัวเลข เป็นสตริง ผมอาศัยไปอ่านตามฟอรั่มที่มีหลายคน hack ไว้ ตรงนี้เสียเวลาไปหลายสิบวันกว่าจะแกะและจูนได้
โปรแกรมแรกเป็นกรณีศึกษา -เขียนโปรแกรมแปลงพิกัดภูมิศาสตร์ (Geographic Calc)
จั่วหัวไปเหมือนโปรแกรมจะใหญ่โต แต่เปล่าเลยผมเคยเขียนโปรแกรมแปลงพิกัดระหว่าง UTM และค่าพิกัดภูมิศาสตร์ (Geographic) บน fx 5800P ก็ไม่ได้ยากเย็นอะไรมากเพราะการแปลงพิกัดเหลานี้มีสูตรที่แน่นอนถึงแม้สูตรจะยาวไปหน่อยก็ตาม แต่ก็ไม่ได้ยากเย็นอะไร ผมมีเรื่องการแปลงพิกัดค้างคาอยู่นิดหนึ่งคือในโปรแกรม Surveyor Pocket Tools ในส่วนการแปลงพิกัดจะสังเกตเห็นว่าไม่มีระบบพิกัด MGRS (Military Grid Reference System) ซึ่งสำหรับพลเรือนอย่างพวกเรา คงไม่มีโอกาสได้ใช้งานเท่าไหร่นัก ผมค้นดูไลบรารีที่สามารถแปลงพิกัดได้ตาม github ไปพบมาอันหนึ่งชื่อ mrgs พัฒนาโดย Howard Butler ซึ่งไลบรารีที่เขียนไว้ไม่ใหญ่มาก นอกจากแปลงพิกัด Transverse Mercator ได้ยังแปลง MGRS ได้ และโปรแกรมในรุ่นนี้ผมขอจำกัดแค่ดาตั้ม “WGS84”
ส่วนผมเองต้องบอกก่อนว่าไม่ใช่แฟนพันธุ์แท้ภาษาซี พอจะเขียนได้แต่ไม่ได้เก่งกาจนัก ดังนั้นโปรแกรมที่เขียนขึ้นมาอาจจะมีส่วนใดส่วนหนึ่งที่เยิ่นเย้อไปบ้าง
ลอง Military Grid Reference System (MGRS) ดูสักตั้ง
ในส่วนระบบพิกัด MGRS ซึ่งผมเห็นว่ามันแปลกดีที่ระบบนี้เอาตัวอักษรและตัวเลขแบ่งเป็นกริดมาขมวดรวมกันก็กลายเป็นค่า coordinate ได้ ลองดูรูปแบบดังตัวอย่างด้านล่าง
-
- 46Q …………………GZD only, precision level 6° × 8° (in most cases)
- 46QFJ ……………….GZD and 100 km Grid Square ID, precision level 100 km
- 46QFJ 1 6 ……………precision level 10 km
- 46QFJ 12 67 ………….precision level 1 km
- 46QFJ 123 678 ………..precision level 100 m
- 46QFJ 1234 6789 ………precision level 10 m
- 46QFJ 12345 67890 …….precision level 1 m
ในเบื้องต้นผมขอใช้ไลบรารีนี้เพื่อเป็นกรณีศึกษา เพื่อลองเขียนโปรแกรมแปลงพิกัด MGRS ดูบ้าง ซึ่งระบบพิกัดนี้เครื่องคิดเลข fx-5800P ทำไม่ได้แน่นอนครับเพราะเครื่องคิดเลขไม่มีระบบรับข้อมูลเป็นสตริง (ยาวสุดประมาณ 15 ตัวอักษร) นอกจากไม่มีระบบรับข้อมูลสตริงแล้ว ไม่มีไลบรารีตัดสตริงออกมาเป็นท่อนๆ
เส้นทางและระยะเวลาในการพัฒนา
เนื่องจากโปรแกรมแปลงพิกัดนี้เป็นโปรแกรมเล็กๆ ไลบรารีที่ผมไปเอามาใช้จาก github ก็ใช้ง่ายสะดวก แต่ติดปัญหาที่ผมบอกไปแล้วคือระบบติดต่อผู้ใช้รับข้อมูลตัวเลข ตัวอักษรทาง casio ไม่ได้เปิดเผยเอกสาร บางอย่างต้องเขียนเองเช่นการรับข้อมูลเป็นสายสตริงเช่นค่าพิกัด MGRS (ตัวอย่างเช่น “18SVK8588822509”) บางอย่างไปหาตามฟอรั่ม เลยใช้เวลาสำหรับโปรแกรมแรกนี้ประมาณหนึ่งอาทิตย์กว่าๆ ในตอนนี้โปรแกรมเล็กๆนี้ก็เสร็จพอใช้งานได้แล้ว คุณสมบัติของโปรแกรมนี้คือค่าพิกัด latitude/longitude ที่แปลงมาจาก MGRS หรือ UTM สามารถแสดงผลได้ในทศนิยมที่ห้า ซึ่งจะเทียบเท่ากับหน่วยมิลลิเมตร ที่เราชาวสำรวจที่ต้องใช้ ถ้าใครเคยใช้โปรแกรมแปลงพิกัด UTM <==> Geo ที่ผมเขียนด้วย fx-5800P จะสังเกตเห็นว่าคำนวณแล้วได้ทศนิยมแค่สองตำแหน่งเท่านั้น ข้อได้เปรียบของ fx-9860G II คือสถาปัตยกรรมของเครื่องรุ่นนี้สามารถใช้ตัวแปร double ได้ ซึ่งในงานสำรวจนั้นเพียงพออยู่แล้ว
มาดาวน์โหลดโปรแกรมไปทดสอบ
เมื่อผม compile และ build โปรแกรมในเครื่องมือพัฒนาโปรแกรมของคาสิโอ แล้วจะได้ไฟล์ที่นามสกุล G1A (ตัว A คงหมายความว่า AddIn) ถ้าสนใจก็ไปดาวน์โหลดได้ที่หน้าดาวน์โหลด เมื่อได้ไฟล์มาแล้วชื่อ “UTMGeo.G1A” จากนั้นให้ดึง SD card ที่เสียบอยู่ด้านบนเครื่องคิดเลข fx-9860G II SD แล้วนำมาเสียบที่เครื่องพีซีหรือโน๊ตบุ๊ค เมื่อเปิดด้วย windows explorer จากนั้นสร้างโฟลเดอร์ใหม่ อย่างของผมตั้งชื่อ “Survey Addin Programs” แล้วก็อปปี้ไฟล์ “UTMGeo.G1A” ไปไว้ที่โฟลเดอร์ดังกล่าวนี้
จากนั้นดึง SD card เอาไปเสียบที่เครื่องคิดเลขเหมือนเดิม จากนั้นกดปุ่ม “MENU” ที่คีย์บอร์ดของเครื่องคิดเลข จะเห็นไอคอนของโปรแกรม AddIn ขึ้นมาทั้งหมด ใช้คีย์บอร์ดลูกศรเลื่อนไปที่ “MEMORY” กด “EXE”
- จะเห็นตัวหนังสือ Memory Manager พร้อมเมนูให้เลือก เลือกกดคีย์บอร์ด “F3” เพื่อเลือก F3:SD Card
- จะเห็นโฟลเดอร์ ที่อยู่ในเครื่องคิดเลข จะเป็นชื่อสั้น 8.3 แบบระบบปฏิบัติการ DOS สมัยแต่ก่อน เลื่อนไปที่ [SURVEY~2] กด “EXE”
- จะเห็นชื่อไฟล์ “UTMGeo.G1A” ที่เราก็อปปี้มาจากโน๊ตบุ๊คคอมพิวเตอร์นั่นเอง กด “F1” (SEL) และกดปุ่ม “F2” (COPY)
- ที่นี้จะมีไดอะล็อกเล็กๆให้เลือกปลายทาง กดคีย์เลข 2 เลือกโฟลเดอร์ปลายทางเป็น “ROOT” กด “EXE” ถ้ามีไฟล์อยู่แล้วให้ยืนยันการเขียนทับ “Yes” ด้วยกดคีย์ “F1”
- จากนั้นก็กดคีย์ “EXIT” หลายๆครั้ง สุดท้ายกดคีย์ “MENU” กดลูกศรเลื่อนลงไปด้านล่าง จะเห็นไอคอน “UTM Geo” จากนั้นกดปุ่ม “EXE”
ทดสอบการใช้งานโปรแกรมแปลงพิกัด Geographic Calc
เมื่อกด “EXE” เข้าไปแล้วจะเห็นบรรทัดบนสุดแสดงชื่อโปรแกรม “Geographic Calc” มีเมนูแบบง่ายๆ 4 เมนูให้เลือกคือ ต้องการเลือกตัวไหนก็กดตัวเลขตามเมนู
-
- UTM to Geo – แปลงพิกัดจากระบบพิกัดฉากยูทีเอ็มไปยังค่าพิกัดภูมิศาสตร์ Latitude/Longitude
- Geo to UTM – แปลงพิกัดจากระบบพิกัดภูมิศาสตร์ไปยังระบบพิกัดฉากยูทีเอ็ม
- MGRS to Geo – แปลงพิกัดจากระบบพิกัด MGRS ไปยังระบบพิกัดภูมิศาสตร์
- Geo to MGRS – แปลงพิกัดจากระบบพิกัดภูมิศาสตร์ไปยังระบบพิกัด MGRS
แปลงพิกัดจากระบบพิกัดฉากยูทีเอ็มไปยังค่าพิกัดภูมิศาสตร์ (UTM to Geo)
ที่เมนูกดคีย์เลข “1” เข้าไปโปรแกรมจะถามค่าพิกัด North, East และตัวเลขของโซนยูทีเอ็ม ลองป้อนข้อมูลตามตัวอย่าง
จะได้ผลลัพธ์ดังต่อไปนี้ ครับตามที่กล่าวไปแล้วได้ทศนิยมค่าแลตติจูด ลองจิจูด ตำแหน่งที่ห้า
แปลงพิกัดจากพิกัดภูมิศาสตร์ไปยังระบบพิกัดฉากยูทีเอ็ม (Geo to UTM)
ที่เมนูกดเลข “2” โปรแกรมจะถามค่าพิกัดภูมิศาสตร์ สามารถป้อนทศนิยมได้มากกว่า 5 ตัว ป้อนค่ามุมตัวคั่นองศา ลิปดา ฟิลิปดาให้ใช้เครื่องหมายลบ (-) ค่าแลตติจูดลงท้ายให้ป้อนตัวอักษร ถ้าซึกโลกเหนือให้ป้อน “N” ตามหลัง ตามเป็นซีกโลกใต้ให้ป้อน “S” หรือค่าลองจิจูดซึกโลกตะวันตกให้ป้อนคำว่า “W” ลงท้าย ซีกโลกตะวันออกให้ป้อน “E” ลงท้าย ดูตัวอย่าง
เมื่อกด “EXE” จะได้ผลลัพธ์ดังนี้
แปลงค่าพิกัดจาก MGRS ไปยังค่าพิกัดภูมิศาสตร์ (MGRS to Geo)
ที่เมนูกดปุ่ม “3” เลือก โปรแกรมจะถามค่าพิกัด MGRS ป้อนไปดังรูปด้านล่าง
กด “EXE” จะได้ผลลัพธ์ค่าพิกัดภูมิศาสตร์
แปลงค่าพิกัดจากค่าพิกัดภูมิศาสตร์ ไปยัง MGRS (Geo to MGRS)
ที่เมนูกดเลข “4” ลองป้อนค่าพิกัดแลตติจูด ลองจิจูดเข้าไปดังรูป
กด “EXE” จะได้ค่าผลลัพธ์ดังรูป
สรุป
ในขณะที่ลองเขียนโปรแกรมสำหรับเครื่องคิดเลข fx-9860G II นี้ ผมยังทำงานที่บังคลาเทศ ใช้เครื่องคิดเลขของน้องๆ แต่ด้วยความประทับใจเครื่องรุ่นนี้เลยสั่งซื้อเครื่องที่เมืองไทยส่งไปที่บ้านรอกลับไปค่อยไปลองเครื่องใหม่อีกที (สั่งจาก mr.finance ที่รับของแล้วค่อยโอนเงินอีกที บริการประทับใจครับ) ด้วยสนนราคาประมาณตอนนี้สี่พันบาทปลายๆ รวม SD card มีความรู้สึกว่าคุ้มค่า ไม่ลังเลเหมือนก่อน ผมมีโครงการจะเขียนโปรแกรมเล็กๆด้วยภาษาซีอีกหลายโปรแกรมเพื่อแจกจ่ายเป็นโปรแกรมให้พี่ๆน้องๆในวงการสำรวจได้ใช้งานกันโดยไม่ได้คิดมูลค่า
ขอเพิ่มเติมอีกนิดครับ บทความที่นำเสนอมานี้ไม่ได้มีเจตนาส่งเสริมการขายเครื่องคิดเลขรุ่น fx-9860G II SD นี้ให้ขายดีขึ้นแต่อย่างใด สำหรับน้องๆนักศึกษาหรือช่างสำรวจที่จบมาทำงานใหม่ๆ เครื่องคิดเลข fx-5800P สามารถใช้งานได้ทั่วๆไปได้เพียงพอ โปรแกรมที่มีขายแและแจกจ่ายในวงการบ้านเราก็สามารถหามาใช้งานกันได้อย่างเหลือเฟือ และราคาเครื่องคิดเลข fx-5800P ก็พอจะซื้อหามาใช้งานได้ แต่สำหรับเครื่องคิดเลขรุ่น fx-9860G II SD นั้นราคามากกว่า fx-5800P ประมาณ 2-3 เท่า ถ้ามีเงินเหลือใช้ก็หาซื้อหามาใช้กันได้ สำหรับคนที่มีงานทำแล้วก็พอจะสามารถเก็บเงินซื้อได้
ผมเขียนบทความนี้เพื่อวงการศึกษาช่างสำรวจบ้านเราที่สนใจเรื่องโปรแกรมมิ่งสามารถจะพัฒนาโปรแกรมภาษาซีบนเครื่องคิดเลขรุ่นนี้ได้ โดยที่มีไม่มีข้อจำกัดด้านภาษาโปรแกรมมิ่งแต่อย่างใด เหมือนภาษา basic casio อาจจะส่งผลให้ในอนาคต มีโปรแกรมที่พัฒนาโดยบุคคลากรท่านอื่นๆ เข้ามาสู่วงการนี้มากขึ้น และได้ตัวโปรแกรมงานสำรวจก็มีความหลากหลายและความสามารถมากขึ้น ในบทความตอนหน้าไม่กี่ตอนจากนี้ไปจะมีบทความ แนะนำการใช้เครื่องมือพัฒนาโปรแกรม SDK (Software Development Kit) ของ casio และเทคนิคการใช้เครื่องมืออื่นๆที่ แฮกเกอร์เครื่องคิดเลขรุ่นนี้ได้ reverse-engineering เขียนเผยแพร่ไว้ หรือแม้กระทั่งใช้ฟังก์ชั่นที่ไม่ได้เปิดเผยจากทาง casio เองก็ตาม พบกันใหม่ครับ