You must be logged in to reply.

Page 9 of 10 out of 94 messages.

Introducing TinyCLR OS: a new path for our NETMF devices

5 likes
Reply #80 — Posted 4mth ago
by Simon from Vilnius | King | 26,248 exp
Reply #80 — Posted 4mth ago
by Simon from Vilnius | King | 26,248 exp
Just bring RLP back and everyone will be happy (except godefroi and me, of course). I, for example, remade CAN, Serial and AES on G400 myself, from scratch, using RLP. I was swearing like a peasant, and even though I really hate GHI for having to reimplement — often in a great hurry — stuff that I was supposed to be buying of the shelf, I still respect them... due to the same fact that they actually left a way to fix it. So, all in all, NETMF is still a win, despite my experience that G400 requires lots of patching for industrial/medical usage.

So, from my perspective, shall anyone care, it's very simple: no RLP, no business. Other than that, TinyCLR looks very promising, simply because that's finally a move forward.
1 like
Reply #81 — Posted 4mth ago
by Dave McLaughlin | Legend | 57,515 exp
Reply #81 — Posted 4mth ago
by Dave McLaughlin | Legend | 57,515 exp
@Simon from Vilnius - welcome back, sort of. Been a while since we saw you on the forum. Smiley

I am still using your touch driver for my Newhaven displays. Apart from the lack of gesture detection, it has worked faultlessly for well over a year now on a couple of devices out in a Texas oilfield. Smiley
1 like
Reply #82 — Posted 4mth ago
by Gene | Master | 6,032 exp
Reply #82 — Posted 4mth ago
by Gene | Master | 6,032 exp
Simon from Vilnius says:

I, for example, remade CAN, Serial and AES on G400 myself, from scratch, using RLP.

@Simon from Vilnius - Since I'm stuck using many serial ports to talk to the old school instrumentation we're stuck with in the oceanography world, I'd be interested in anything you care to share about how you rewrote the G400 serial stuff.

Cheers
Reply #83 — Posted 4mth ago
by mtylerjr | King | 24,670 exp
Reply #83 — Posted 4mth ago
by mtylerjr | King | 24,670 exp
AH, I guess this is the thread where one should ask the "when is the next update?" questions Smiley
2 likes
Reply #84 — Posted 4mth ago
by Gus | Employee
Reply #84 — Posted 4mth ago
by Gus | Employee
We are still tweaking something so maybe mid February.
2 likes
Reply #85 — Posted 4mth ago
by riaan.mastenbroek@gmail.com | Minor | 340 exp
Reply #85 — Posted 4mth ago
by riaan.mastenbroek@gmail.com | Minor | 340 exp
This is FANTASTIC, best news I have heard all year long...be assured of my commitment to continue development on your platform!!!! Dancing Clapping Cheesy
Reply #86 — Posted 4mth ago
by Bauland | Master | 5,722 exp
Reply #86 — Posted 4mth ago
by Bauland | Master | 5,722 exp
I've received my FEZ Panda III this morning, and running an app with some blinking led !!!
TinyClr seems easy to use.

Just a note to GHI: in pin assembly, I'm looking for PE14 pin for blue led, and it takes some time to discover that PE14 (from schematic) is called LED1 in assembly. Is it possible to change assembly accordingly to schema (or change schema to assembly !)
1 like
Reply #87 — Posted 4mth ago
by Gus | Employee
Reply #87 — Posted 4mth ago
by Gus | Employee
@Bauland - FEZ stands for freaken' easy! We do not expect you to open schematics at all, just look at the board itself. The LED, and all other pins, are labeled right on there for you Smiley
1 like
Reply #88 — Posted 4mth ago
by Bauland | Master | 5,722 exp
Reply #88 — Posted 4mth ago
by Bauland | Master | 5,722 exp
@Gus - Your reply is obvious ! Why I've seen schematics ? Indeed, all is writen on mainboard ! Shame on me ... Embarrassed Embarrassed Embarrassed
Reply #89 — Posted 3mth ago
by glx | Senior | 3,330 exp
Reply #89 — Posted 3mth ago
by glx | Senior | 3,330 exp
I just got a small app for testing-purposes running Smiley (I wanted to figure out how the i2c-thing works on TinyCLR, it's a bit tricky and I don't completely understand it Cheesy but it works after I tried around a while Smiley). It's also not very nice or savely coded Embarrassed.
It just counts bits on a MCP23017-GPIO-expander and blinks a LED..
I think it's nicer without the strange transaction-things..
But somehow the GC kicks in every about 10 seconds and the code stucks for a short time when the debugger is not connected..

using System.Diagnostics;
using System.Threading;
using GHIElectronics.TinyCLR.Pins;
using GHIElectronics.TinyCLR.Devices.Gpio;
using GHIElectronics.TinyCLR.Devices.I2c;
using GHIElectronics.TinyCLR.Devices.Enumeration;


namespace TinyCLRApplication1
{
    public class Program
    {
        public static void Main()
        {
            var GPIO = GpioController.GetDefault();
            GpioPin LED = GPIO.OpenPin(G80.Gpio.PA2);
            LED.SetDriveMode(GpioPinDriveMode.Output);

            I2cConnectionSettings Settings = new I2cConnectionSettings(0x20); //creates a configuration for the I2C-device we want to create
            Settings.BusSpeed = I2cBusSpeed.FastMode; //Sets the bus-speed to FastMode (400kHz)

            var Devices = DeviceInformation.FindAll(G80.I2cBus.I2c1); //Gets the I2C-devices with the given name
            I2cDevice MCP = I2cDevice.FromId(Devices[0].Id, Settings); //Sets up a I2C-device on the above selected bus with the previously configured settings

            MCP.Write(new byte[] { 0x00, 0x00 }); //[0] = the register to write into, [1] = the content that is written into the register
            MCP.Write(new byte[] { 0x12, 0x22 }); //

            new Thread(() =>
            {
                byte[] WriteArray = { 0x12, 0x00 }; //
                byte[] ReadBuffer = new byte[1]; //creates a buffer to read values into
                while (true)
                {
                    MCP.Write(WriteArray); //writes the byte-array above
                    
                    WriteArray[1]++;

                    MCP.WriteRead(new byte[] { 0x13 }, ReadBuffer); //Reads the content of register 0x13 into the readbuffer
                    Debug.WriteLine("Port-B: " + ReadBuffer[0].ToString() + " -- (raw reading)"); //Tells you what's inside the readbuffer
                    Thread.Sleep(250);
                }
            }

            ).Start();

            bool PinBool = false;
            uint i = 0;
            new Thread(() =>
            {
                while (true)
                {
                    PinBool = GpioToBool(LED.Read());
                    LED.Write(BoolToGpio(!PinBool));

                    Thread.Sleep(500);
                }
            }).Start();

            //while (true)
            //{
            //    Debug.WriteLine(i.ToString());
            //    i++;
            //    Thread.Sleep(100);
            //}

        }

        public static GpioPinValue BoolToGpio(bool Input)
        {
            if (Input == true) return GpioPinValue.High;
            else return GpioPinValue.Low;
        }

        public static bool GpioToBool(GpioPinValue Input)
        {
            if (Input == GpioPinValue.High) return true;
            else return false;
        }

    }
}

Page 9 of 10 out of 94 messages.

You must be logged in to reply.