LP_Relay Controller_UI

A place to showcase LattePanda creations!
User avatar
rickyye
Site Admin
Posts: 42
Joined: Sun Apr 17, 2016 11:21 am

Sat Sep 16, 2017 4:20 am

@LNC-ORNA

How long will it take for Microsoft to review the application?
Drink Latte, Enjoy Coding, Stay overnight, Be a LattePanda.

User avatar
ED209
Posts: 222
Joined: Tue Apr 19, 2016 3:31 pm

Mon Sep 18, 2017 4:55 am

LNC-ORNA wrote:
Fri Sep 15, 2017 6:49 pm
To publish my App to Windows Store I need to register as an App Developer, and pay for publish :cry: if your Apps are Free with no Ads or not.

This is the last email I've received from microsoft:
Dear Luis,

Thank you for your interest in using Desktop Bridge to bring your app or game to the Windows Store. Now that you’ve submitted your information to our team, we’d like to give you a quick rundown on the process:

Our team will be doing the following:

Step 1: Review the information you've submitted and reach out to you if we have any questions.
Step 2: Verify your app or game's compatibility with the Desktop Bridge and work with you to address any concerns.
Step 3: Enable your Dev Center account with the correct permissions and assist in getting your app or game published to the Windows Store.
Your next step is to register on the Dev Center to create your publisher account.

Stay tuned for further updates from the Desktop Bridge team. We'll be in touch soon.
Sounds like it' similar with the Apple. You need to pay for your developer account. But feels like that the Microsoft Store didn't get a support developer community support yet and don't have rich apps launched.

User avatar
LNC-SPN
Posts: 28
Joined: Thu May 19, 2016 7:04 pm
Location: Valencia, Spain
Contact:

Tue Oct 31, 2017 9:53 am

I updated the App with a new custom LattePanda Arduino Firmata library.

I modified the LattePanda.Firmata leaving only the function digitalWrite.
From 30% to 0%-0.5% of CPU load (0.5% when write).

LattePanda.CustomFirmata
https://github.com/lncspn/LP_Relay-Cont ... Firmata.cs

Code: Select all

using System;
using System.IO.Ports;
using System.Threading;
using System.Linq;

namespace LattePanda.CustomFirmata
{
    class Arduino
    {
        public const byte LOW = 0;
        public const byte HIGH = 1;
        public const byte OUTPUT = 1;

        public Arduino()
        {
            _arduinoSerialPort = new SerialPort();

            _arduinoSerialPort.PortName = List().ElementAt(List().Length - 1);
            _arduinoSerialPort.BaudRate = 57600;
            _arduinoSerialPort.DataBits = 8;
            _arduinoSerialPort.Parity = Parity.None;
            _arduinoSerialPort.StopBits = StopBits.One;

            Open();
        }
        public static string[] List()
        {
            return SerialPort.GetPortNames();
        }

        public void Open()
        {
            _arduinoSerialPort.DtrEnable = true;
            _arduinoSerialPort.Open();

            Thread.Sleep(4000);
        }
        public void Close()
        {
            if (_arduinoSerialPort.IsOpen == true)
            {
              _arduinoSerialPort.Close();
            }
           
        }
        public void pinMode(int pin, byte mode)
        {
            byte[] message = new byte[3];
            message[0] = (byte)(SET_PIN_MODE);
            message[1] = (byte)(pin);
            message[2] = (byte)(mode);
            _arduinoSerialPort.Write(message, 0, 3);
            message = null;
        }
        public void digitalWrite(int pin, byte value)
        {
            int portNumber = (pin >> 3) & 0x0F;
            byte[] message = new byte[3];

            if ((int)value == 0)
                _digitalOutputData[portNumber] &= ~(1 << (pin & 0x07));
            else
                _digitalOutputData[portNumber] |= (1 << (pin & 0x07));

            message[0] = (byte)(DIGITAL_MESSAGE | portNumber);
            message[1] = (byte)(_digitalOutputData[portNumber] & 0x7F);
            message[2] = (byte)(_digitalOutputData[portNumber] >> 7);
            _arduinoSerialPort.Write(message, 0, 3);
        }

        private const int MAX_DATA_BYTES = 64;
        private const int TOTAL_PORTS = 2;
        private const int DIGITAL_MESSAGE = 0x90; // send data for a digital port
        private const int SET_PIN_MODE = 0xF4; // set a pin to INPUT/OUTPUT/PWM/etc
        private volatile int[] _digitalOutputData = new int[MAX_DATA_BYTES];
        private SerialPort _arduinoSerialPort;
    }
}
LP_Relay Controller_UI v1.1
Download
Attachments
LP_Relay Controller(CPU Load).JPG
LP_Relay Controller(CPU Load).JPG (145.17 KiB) Viewed 2590 times

Post Reply