Eiffel and microcontrollers

83 views
Skip to first unread message

Philippe P

unread,
Sep 21, 2020, 6:32:42 PM9/21/20
to Eiffel Users
I have recently seen messages about the use of Eiffel on on-board systems such as the Rapsberry. 

Is there an Eiffel version for systems with even more constrained resources such as microcontrollers?  I'm thinking for example of the popular microcontrollers used in education, notably the Arduino and Microbit. It seems that there is an increasing attention for the programming of microcontrollers with high level languages : Ada, Scheme, OCAML and others...

I have some questions about Eiffel and the Microbit in the context of education : 

1) Is it conceivable to run small Eiffel applications on the Microbit (very limited RAM: 16 KB, ARM Cortex-M0 32) ? 

2) What is the memory footprint of the Eiffel runtime? Could the garbage collector work  on limited memory ? 

3) How much effort would it take to adapt the C code output from the Eiffel Studio to make it work on Microbit ?

4) Could the SCOOP mechanism run on Microbit ?

At the beginning of the 2000s Eiffel software had collaborated with HP on a printer controller programming project with Eiffel. I don't know what the result was. Is there any publication related to this project ?
Is Eiffel software planning to produce a release of Eiffel studio for microcontrollers in the near future?

Thanks for your answers


Philippe.

Larry Rix

unread,
Sep 29, 2020, 4:27:30 PM9/29/20
to Eiffel Users
I do know that years ago, HP used Eiffel for their printers. I presume these were controlled by microcontrollers. I know nothing more than that, but someone at Eiffel Software could probably easily answer this question and provide more details.

Philippe P

unread,
Sep 29, 2020, 5:59:09 PM9/29/20
to eiffel...@googlegroups.com
Thanks Larry for your reply.
Philippe.

Le mar. 29 sept. 2020 à 22:27, Larry Rix <lar...@moonshotsoftware.com> a écrit :
I do know that years ago, HP used Eiffel for their printers. I presume these were controlled by microcontrollers. I know nothing more than that, but someone at Eiffel Software could probably easily answer this question and provide more details.

--
You received this message because you are subscribed to a topic in the Google Groups "Eiffel Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/eiffel-users/MHzJDj8jYu4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/085ca226-4b94-4b5d-8a91-9ee994970b91n%40googlegroups.com.

javier...@gmail.com

unread,
Nov 19, 2020, 12:56:11 PM11/19/20
to Eiffel Users
Hi Philippe
About Microbit may not be a good target for Eiffel because it seems it's only for education purposes (to learn basic programming).
On the other hand, if the community wants to give a try to Arduino, which seems more attractive for building electronics projects and also good for educational purposes, we may help  

-- Javier

jjj

unread,
Nov 19, 2020, 10:47:59 PM11/19/20
to Eiffel Users
Ian,
Who is "we" in "we may help"?
What about Raspberry Pi?
jjj


javier...@gmail.com

unread,
Nov 20, 2020, 4:25:05 PM11/20/20
to Eiffel Users
On Friday, November 20, 2020 at 12:47:59 AM UTC-3 jjj wrote:
Ian,
Who is "we" in "we may help"?
Eiffel Software 
What about Raspberry Pi?
Larry Rix has been working on it. Check the following repository https://github.com/ljr1981/WiringPi-Eiffel

-- Javier

jjj

unread,
Nov 20, 2020, 4:39:22 PM11/20/20
to Eiffel Users
On Friday, November 20, 2020 at 12:47:59 AM UTC-3 jjj wrote:
Ian,
Who is "we" in "we may help"?
Eiffel Software 

Great,  was not sure.
 
What about Raspberry Pi?
Larry Rix has been working on it. Check the following repository https://github.com/ljr1981/WiringPi-Eiffe

Yes, I am aware, but it wraps a [IMO] long, hard-to-understand, no longer maintained, C-library, while maintaining the structure/paradigm of the C-coder (which is not very well explained).  No offense Larry, I just want an Eiffel-only solution.  I am well on the way, but I have hit a snag with PWM.

I am reluctant to just post my code.  I believe it has applications not just for Raspberry Pi control, but in education related to Pi's, inclusion perhaps in electronic learning tools such as Freenova, object-oriented programming education, library design, and, of course, Eiffel.  I don't know if my ideas are marketable and I don't know how to market, but looking at all the existing C, Java, ... code, there is certainly room for a paradigm shift.

jjj



 

Jocelyn Fiat

unread,
Nov 21, 2020, 5:24:52 AM11/21/20
to Eiffel Users
Raspberry pi is already supported, see the armv7 platform.

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/73a006dd-6c23-4d0c-8764-593376a97db2n%40googlegroups.com.

Larry Rix

unread,
Nov 22, 2020, 8:33:06 AM11/22/20
to Eiffel Users
No offense taken! :-)

The WiringPi library was abandoned by its maker because people started making rather abusive requests of him and he got tired of the abuses (I don't blame him). So, be aware that consumers of your library have a human side and they might say and do things with a cranky attitude. :-)

I do agree that a pure-Eiffel solution to the RPi-X is a worthy challenge and resulting product. I wrote the start of the wrap of WiringPi for the sake of expediency. I figured that I could immediately ride that abandoned horse for quite a while before the RPi-Foundation changed up the electronics on the Pi to a significant breaking-level. Even so, the supported hardware will not be dying any time soon even if new breaking changes emerge (which they most certainly will). Nevertheless—the RPi-4 arm-7 coupled with the WiringPi library seems fairly secure if your goal is to create a working product right now. 

What Jimmy is doing is forward-looking, but also comes with its own issues in terms of keeping it from going stale as well or even being abandoned over time, putting folks in the same boat with an Eiffel library just like we presently are with WiringPi, yes?

Yes, I am aware, but it wraps a [IMO] long, hard-to-understand, no longer maintained, C-library, while maintaining the structure/paradigm of the C-coder (which is not very well explained).  No offense Larry, I just want an Eiffel-only solution.  I am well on the way, but I have hit a snag with PWM.

jjj



 
Reply all
Reply to author
Forward
0 new messages