|
|
@@ -0,0 +1,64 @@
|
|
|
+package weerstation;
|
|
|
+
|
|
|
+public class GUIboard {
|
|
|
+
|
|
|
+
|
|
|
+ public static void writeUpperDigits(double number){
|
|
|
+ writeDigits(number, 0x10, 0x18);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void writeLeftDigits(double number){
|
|
|
+ writeDigits(number, 0x20, 0x24);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void writeRightDigits(double number){
|
|
|
+ writeDigits(number, 0x30, 0x34);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void writeDigits(double number, int firstSegment, int lastSegment){
|
|
|
+
|
|
|
+ //Segments
|
|
|
+ int segA = 0x01;
|
|
|
+ int segB = 0x02;
|
|
|
+ int segC = 0x04;
|
|
|
+ int segD = 0x08;
|
|
|
+ int segE = 0x10;
|
|
|
+ int segF = 0x20;
|
|
|
+ int segG = 0x40;
|
|
|
+ int segDP = 0x80;
|
|
|
+
|
|
|
+ //Digits
|
|
|
+ int[] digits = {
|
|
|
+ segA | segB | segC | segD | segE | segF, //0
|
|
|
+ segB | segC, //1
|
|
|
+ segA | segB | segG | segE | segD, //2
|
|
|
+ segA | segB | segC | segF | segD, //3
|
|
|
+ segB | segC | segF | segG | segC, //4
|
|
|
+ segA | segF | segG | segC | segD, //5
|
|
|
+ segA | segF | segG | segC | segD | segE, //6
|
|
|
+ segA | segB | segC, //7
|
|
|
+ segDP - 1, //8
|
|
|
+ segA | segF | segG | segC | segD | segB, //9
|
|
|
+ };
|
|
|
+
|
|
|
+ int digit = firstSegment;
|
|
|
+ IO.writeShort(0x10, 0); //default value
|
|
|
+ String numberString = String.valueOf(number);;
|
|
|
+ char numberSplit[] = numberString.toCharArray();
|
|
|
+
|
|
|
+ for(int i = numberSplit.length-1; i >= 0; i--){
|
|
|
+ if(numberSplit[i] == '.'){
|
|
|
+ IO.writeShort(digit, digits[(Character.getNumericValue(numberSplit[i - 1]))]|0x180); //display a . with the next number
|
|
|
+ i--;
|
|
|
+ }else if(numberSplit[i] == '-'){
|
|
|
+ IO.writeShort(digit, 0x140); //will display a -
|
|
|
+ }else{
|
|
|
+ IO.writeShort(digit, Character.getNumericValue(numberSplit[i]));
|
|
|
+ }
|
|
|
+ digit += 2; //Next digits screen
|
|
|
+ if(digit > lastSegment){ //If there are more then max digits needed, it will stop.
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|