polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <hedh...@gmail.com>
Subject Re: Update from Niclas
Date Sun, 21 Feb 2016 02:50:50 GMT
Update; Yesterday I located the last major bug in the Forth interpreter.
Yay!!!

~1k assembler instructions, and ~8kbytes of RAM space for the JonesForth
vocabulary.

Today I am starting on a TCP socket for the REPL, instead of the serial
port used so far.

GPIO, ADC and other peripherals will be very straight forward memory
operations. Probably borrow from http://wiki.laptop.org/go/Forth_Lesson_22

I have also decided on the multitasking model, and going for an Actor model
similar to Erlang, but adopted for Forth concepts (messages on stack).
Still not sure how to do memory allocation separation in a good manner, but
I'll get there.

Cheers
Niclas

On Mon, Feb 15, 2016 at 3:54 PM, Niclas Hedhman <hedhman@gmail.com> wrote:

>
> This thread is well off-topic, but we are a small group of friendly people
> so I don't mind. Someone else might, and if so... Speak up.
>
> Jiri; powering is an interesting longer term challenge. I don't want too
> much on the plate in the beginning, and rather have a MVP going out the
> door now, than solving a larger task by next year.
> But I like your idea, and should research it further. The peek power
> however is more like 700mW at full WiFi transmit. Super-capacitor to the
> rescue, I guess.
>
> Roman; I have always been fascinated by the simplicity of Forth, and it
> has been fun doing Assembler again.
> Forth isn't necessary for the temperature sensor device and the sensor
> network built on top of it. But I want to see if it makes sense to create a
> user programmable platform on top of Forth, for automation systems
> integrators can use. I did a block programming system in Java for this
> purpose, and think I can run the same thing on Forth and a fraction in
> size. My target for that is the upcoming ESP-32, dual core and a whopping
> 400kB or so of usable RAM. The CEO told me over beer, that it is expected
> to only cost about 20% more...
>
> So, one of the next steps is a WiFi PID regulator, programmable, maybe two
> inputs and a single 0-10V output.
>
> Again, the monitoring, control and data management on top will be key,
> together with the local network management for devices to work in unison,
> and the security needed whilst keeping it easy to use.
>
> I have heard that NASA uses Forth in missions, but don't know if this is
> still the case, or just surviving rumours from the 80s. But as we ride hard
> into explosion of super-tiny devices, I think it is the only feasible
> alternative to C, and more often than not provides more compact code.
>
> My implementation for ESP8266 is far from done. I am currently chasing a
> bug in the compile system, as it seems that the compile BEGIN...UNTIL
> and/or IF...ELSE...THEN gets compiled with incorrect jump addresses.
> Hopefully I can sort that out in one of these evenings...
> After that, I will turn my focus to;
>
>   * Serial over WiFI socket instead of serial ports.
>
>   * GPIO, PWM, ADC and other microcontroller functions.
>
>   * Async message queues, so I can do...
>
>   * Multitasking
>
>   * pre-compile the FORTH vocabulary to ROMable code and not occupy the
> RAM.
>
> Anyway, I am putting up Jiri and Roman on the list for the field test.
>
> Cheers
> Niclas
> On Feb 15, 2016 14:23, "Roman Shaposhnik" <roman@shaposhnik.org> wrote:
>
>> On Fri, Feb 12, 2016 at 7:58 PM, Niclas Hedhman <niclas@hedhman.org>
>> wrote:
>> > Gang,
>> >
>> > I haven't had much time on Zest lately, as I have been busy creating a
>> > low-costWiFi capable, USB-powered temperature sensor. See
>> > http://hedhman.org/~niclas/IndoorioD.jpg
>> >
>> > And for the fun of it, I ported FORTH programming language to the
>> ESP8266
>> > CPU that is on this, in Assembler of course. Interpreter, Compiler, base
>> > vocabulary (functions) and REPL in ~1000 assembler instructions, and the
>> > full vocabulary in another 10kbytes or so. It has been a lot of fun.
>>
>> This is the point where you got my attention 110% ;-)
>>
>> > This little puppy will go for one more round of prototypes next week,
>> as I
>> > want to add an external watchdog and tiny prototyping area for maker
>> > community. Then I intend to make a field test with 100 units or so.
>> >
>> > So, why am I telling you all this?
>> >
>> > First of all, these guys will report the temperature back to a central
>> > server every 15 minutes or so. And the management system on the server
>> is
>> > written with Zest. The rest is with Grafana and ElasticSearch. I am
>> > considering trying to build a business around data capture, aggregation,
>> > analytics and visualization. Anyone interested to join?
>>
>> I'd love to chat about what you've got in mind.
>>
>> > Secondly, I am looking for volunteers for my field test. It will
>> probably
>> > happen in April or so. If you participate, you will receive a USB
>> powered
>> > sensor as seen. Plug it into power somewhere for 6 months, connect to it
>> > over WiFi, configure it to use your WiFi router over a simple web
>> > interface, and keep it powered for 6 months.
>> > If there are problems, I might ask for reboot. Hopefully not any
>> firmware
>> > upgrades.
>>
>> I'd love to help. More so than that -- I'd love to tinker.
>>
>> Thanks,
>> Roman.
>>
>


-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message