[ECOS] Nano using PDCurses for eCos

Steven Clugston steven.clugston@newcastle.ac.uk
Wed Apr 15 10:48:00 GMT 2009

>> Steven Clugston wrote:
>> I've been wanting to do a port of a minimal console text editor
>> something like nano or pico to eCos to do on board editing of
>> configuration files to be storred in flash. I've not had
>> time to look
>> into it yet, but as nano (as far as I remember) uses ncurses, this
>> might be just the thing to get the ball rolling.

> I brief check the latest nano sources at the least they have
> ~/repo/nano$ grep -li pdcurses *
> ChangeLog.pre-2.1
> ~/repo/nano/src$ grep -i pdcurses *
> winio.c:#ifdef PDCURSES
> Sergei

Hi Sergei

I've downloaded your PDCurses for eCos and I'm now able to have coloured Xmas trees and worms in minicom running from my board - thanks.

Can this be put into CVS now? Or will you keep it as a separate project?

As I mentioned before, I thought I'd have a go at getting nano to work.

I've tried version 2.0.7 from:

All went well until it came up against some the Linux/unix calls:

../src/files.c: In function `safe_tempfile':
../src/files.c:1156: `P_tmpdir' undeclared (first use in this function)
../src/files.c:1156: (Each undeclared identifier is reported only once
../src/files.c:1156: for each function it appears in.)
../src/files.c:1165: warning: implicit declaration of function `umask'
../src/files.c:1168: warning: implicit declaration of function `mkstemp'
../src/files.c: In function `write_file':
../src/files.c:1376: warning: implicit declaration of function `lstat'

Ok, so I created a compat.h to delcare P_tmpdir as "/tmp" and map lstat to stat in a similar way as you did for TCL a few years ago (BTW what happened with you TCl eCos port? Is it available anywhere?).

Now I've got a problem with termios, as even thought <termios.h> is included and present in the ecos install dir I still get errors:

powerpc-eabi-gcc -DHAVE_CONFIG_H -I"${BUILD_PATH}/eCos/install/include" -I"${BUILD_PATH}/src/nano/src" -I"src" -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/nano.d" -MT"src/nano.d" -o"src/nano.o" "../src/nano.c"
../src/nano.c: In function `finish':
../src/nano.c:583: warning: implicit declaration of function `tcsetattr'
../src/nano.c:583: `TCSANOW' undeclared (first use in this function)

Anyway, that's my progress so far.

Also there's still the issue of no input support in the dummy pdcurses driver yet which makes nano a bit limited in use...


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list