コード例 #1
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void ShowTime()
        {
            BreatheTFT(BreatheOutPulses);

            var background = new VirtualFrame(40960, 32, @"SD\Bitmaps\KloutBackground.bin");

            background.Width  = 160;
            background.Height = 128;
            vm.IsReadOnly     = false;
            vm.Copy(background);

            DisplayKloutOrKlockIcon(background, "clock");
            DisplayKloutOrKlock(background, "KLOCK");

            vm.BitmapDirectory          = @"SD\DigitsS\";
            vm.MaxCharactersAfterPeriod = 2;
            vm.MaxMessageLength         = 10;
            vm.Print(background, GetDate(), 7, 35 + 4, 15, 21);

            vm.BitmapDirectory          = @"SD\DigitsM\";
            vm.MaxCharactersAfterPeriod = 2;
            vm.MaxMessageLength         = 5;
            vm.Print(background, GetTime(), 0, 64 + 11, 32, 42);

            tft.Refresh();
            BreatheTFT(BreatheInPulses);
            background.Dispose();
            background = null;
            Debug.GC(true);
        }
コード例 #2
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        /// <summary>
        /// Configures the application from the 'resources.txt' file place on the microSD card.
        /// See the 'SD Card Resources' folder for a sample to start with.
        /// </summary>
        private static void InitializeResources()
        {
            var resourceLoader = new SDResourceLoader();

            try {
                resourceLoader.Load();
            } catch (IOException e) {
                PowerState.RebootDevice(false);
            }

            _key        = (string)resourceLoader.Strings["key"];
            _user       = (string)resourceLoader.Strings["user"];
            _host       = (string)resourceLoader.Strings["host"];
            _port       = int.Parse((string)resourceLoader.Strings["port"]);
            _timeZone   = int.Parse((string)resourceLoader.Strings["timeZone"]);
            _ntpServers = (string)resourceLoader.Strings["ntpServers"];
            _dst        = int.Parse((string)resourceLoader.Strings["dst"]);

            resourceLoader.Dispose();

            vm            = new VirtualFrame(40960, 16, VirtualMemoryFilename);
            vm.IsReadOnly = false;

            tft             = new AdaFruitST7735(Pins.GPIO_PIN_D9, Pins.GPIO_PIN_D7, Pins.GPIO_PIN_D8, speedKHz: 40000, vm: vm);
            tft.Orientation = AdaFruitST7735.ScreenOrientation.Landscape;

            Debug.GC(true);
        }
コード例 #3
0
    private void OnSpriteSheetLoaded()
    {
        virtualFrames.Clear();
        gridSpriteNames.Clear();
        string path = AssetDatabase.GetAssetPath(SpriteSheet);

        string[] temp = path.Split('/');
        temp       = temp[temp.Length - 1].Split('.');
        spriteName = temp[0].ToLower();

        Sprite[] foundSprites = AssetDatabase.LoadAllAssetsAtPath(path).OfType <Sprite>().ToArray();
        sprites = foundSprites.ToList();
        PreprocessSpriteSheet(sprites, path);
        selectedSprite = 0;

        foreach (Sprite sprite in sprites)
        {
            VirtualFrame vf = new VirtualFrame();
            vf.texture = sprite.texture;
            vf.name    = sprite.name;
            vf.pivot   = sprite.pivot;
            vf.rect    = sprite.rect;
            virtualFrames.Add(vf);
            gridSpriteNames.Add(vf.name);
        }

        attachmentPoints.Clear();
        Repaint();
    }
コード例 #4
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayKloutKPI(VirtualFrame background, string filename)
        {
            var sprite = new VirtualFrame(8960, 16, @"SD\Bitmaps\" + filename + ".bin");

            sprite.Width   = 160;
            sprite.Height  = 28;
            sprite.xOffset = 0;
            sprite.yOffset = 35;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #5
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayKloutOrKlock(VirtualFrame background, string filename)
        {
            var sprite = new VirtualFrame(7548, 16, @"SD\Bitmaps\" + filename + ".bin");

            sprite.Width   = 111;
            sprite.Height  = 34;
            sprite.xOffset = 44;
            sprite.yOffset = 0;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #6
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayKloutOrKlockIcon(VirtualFrame background, string icon)
        {
            var sprite = new VirtualFrame(4950, 16, @"SD\Bitmaps\" + icon + ".bin");

            sprite.Width   = 48;
            sprite.Height  = 34;
            sprite.xOffset = 0;
            sprite.yOffset = 0;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #7
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayPositiveNegativeIcon(VirtualFrame background, string icon)
        {
            var sprite = new VirtualFrame(4800, 16, @"SD\Bitmaps\" + icon + ".bin");

            sprite.Width   = 40;
            sprite.Height  = 60;
            sprite.xOffset = 0;
            sprite.yOffset = 64 + 2;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #8
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayKloutClass(VirtualFrame background, string kloutClass)
        {
            var sprite = new VirtualFrame(6720, 16, @"SD\Bitmaps\" + kloutClass + ".bin");

            sprite.Width   = 160;
            sprite.Height  = 21;
            sprite.xOffset = 0;
            sprite.yOffset = 64 + 21;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #9
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void EraseKloutData(VirtualFrame background)
        {
            var sprite = new VirtualFrame(20480, 16, @"SD\Bitmaps\KloutDataEraser.bin");

            sprite.Width   = 160;
            sprite.Height  = 64;
            sprite.xOffset = 0;
            sprite.yOffset = 64;
            vm.Merge(background, sprite);
            sprite.Dispose();
            sprite = null;
            Debug.GC(true);
        }
コード例 #10
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void DisplayKloutDataPoint(VirtualFrame background, string kpi, float value, bool showArrow = false)
        {
            DisplayKloutKPI(background, kpi);
            EraseKloutData(background);

            string displayValue;

            if ((float)System.Math.Round(value) == 0f)
            {
                displayValue = " -- ";
                showArrow    = false;
            }
            else if (value >= 1000000f)
            {
                value        = (float)System.Math.Round(value / 1000000f);
                displayValue = value.ToString() + "M";
            }
            else if (value >= 1000f)
            {
                value        = (float)System.Math.Round(value / 1000f);
                displayValue = value.ToString() + "K";
            }
            else
            {
                displayValue = System.Math.Round(value).ToString();
            }

            int xOffset = 0;

            if (showArrow)
            {
                xOffset += 40;
                if (value < 0f)
                {
                    DisplayPositiveNegativeIcon(background, "neg");
                }
                else
                {
                    DisplayPositiveNegativeIcon(background, "pos");
                }
            }

            if (xOffset == 0)
            {
                xOffset = (160 - (displayValue.Length * 40)) / 2;
            }

            vm.Print(background, displayValue, xOffset, 64 + 2, 40, 60);
            tft.Refresh();
        }
コード例 #11
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void ShowKloutSplashScreen()
        {
            tftBacklight.SetPulse(0, 0);
            var background = new VirtualFrame(40960, 32, @"SD\Bitmaps\KLOUTSplashScreen.bin");

            background.Width  = 160;
            background.Height = 128;
            vm.Copy(background);
            tft.Refresh();
            BreatheTFT(BreatheInPulses);
            background.Dispose();
            background = null;
            Debug.GC(true);
            Thread.Sleep(2000);
        }
コード例 #12
0
ファイル: KloutKlock.cs プロジェクト: bleroy/netduinohelpers
        public static void ShowKlout()
        {
            BreatheTFT(BreatheOutPulses);

            var background = new VirtualFrame(40960, 32, @"SD\Bitmaps\KloutBackground.bin");

            background.Width  = 160;
            background.Height = 128;

            vm.IsReadOnly = false;
            vm.Copy(background);

            vm.BitmapDirectory          = @"SD\DigitsL\";
            vm.MaxCharactersAfterPeriod = 1;
            vm.MaxMessageLength         = 4;

            DisplayKloutOrKlockIcon(background, "KloutLogo");
            DisplayKloutOrKlock(background, "KLOUT");

            DisplayKloutKPI(background, "Class");
            DisplayKloutClass(background, _kclass);
            tft.Refresh();

            BreatheTFT(BreatheInPulses);

            DisplayKloutDataPoint(background, "KloutScore", _kscore);
            DisplayKloutDataPoint(background, "Network", _networkScore);
            DisplayKloutDataPoint(background, "Amplification", _amplificationScore);
            DisplayKloutDataPoint(background, "TrueReach", _trueReach);
            DisplayKloutDataPoint(background, "Influencers", _influencers);
            DisplayKloutDataPoint(background, "Influencees", _influencees);
            DisplayKloutDataPoint(background, "Topics", _topicsCount);
            DisplayKloutDataPoint(background, "Delta1Day", _delta1Day, true);
            DisplayKloutDataPoint(background, "Delta5Days", _delta5Day, true);

            background.Dispose();
            background = null;
            Debug.GC(true);
        }