Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elektrify with highlevel API and code-generation #7

Merged
merged 73 commits into from
Oct 7, 2019

Conversation

kodebach
Copy link
Member

@kodebach kodebach commented May 15, 2019

Changes:

  • lcdproc updated
  • lcdvc updated
  • lcdexec updated
  • LCDd (server core) updated
  • drivers updated:
    • bayrad
    • cfontz
    • cfontzpacket
    • curses
    • cwlnx
    • ea65
    • eyeboxone
    • futaba
    • g15
    • glcd
    • glcdlib
    • glk
    • hd44780
    • icp_a106
    • imon
    • imonlcd
    • iowarrior
    • irman
    • joy
    • lb216
    • lcdm001
    • lcterm
    • linux_input
    • lirc
    • lis
    • md8800
    • mdm166a
    • ms6931
    • mtc_s16209x
    • mtxorb
    • mx5000
    • noritakevfd
    • olimex_mod_lcd1x9
    • picolcd
    • pyramid
    • rawserial
    • sdeclcd
    • sed1330
    • sed1520
    • serialpos
    • serialvfd
    • shuttlevfd
    • sli
    • stv5730
    • svga
    • t6963
    • text
    • tyan
    • ula200
    • vlsys_m428
    • xosd
    • yard2lcd

Because of ElektraInitiative/libelektra#2634 the spec for drivers is essentially useless. To make the server work with the curses driver for example you need to do (at least) the following in addition to the normal mount + spec-mount:

kdb set "/sw/lcdproc/lcdd/#0/current/drivers/#0" curses
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/file" curses
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/background" cyan
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/foreground" blue
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/backlight" red
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/brightness" 1000
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/contrast" 1000
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/offbrightness" 0
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/reboot" 0
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/size" 20x4
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/topleftx" 7
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/toplefty" 7
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/useacs" 0
kdb set "/sw/lcdproc/lcdd/#0/current/curses/#0/drawborder" 1

@kodebach kodebach self-assigned this May 15, 2019
@markus2330
Copy link

Is this draft PR a new feature? You tell me when I should look at this PR?

@kodebach
Copy link
Member Author

Is this draft PR a new feature?

I think it existed for some time, but it is pretty weird in some respects. e.g. CI systems seem to react differently to it, some run the build and other don't.

You tell me when I should look at this PR?

Yes, I will tag you when it is ready. I found that I need an addition to the API to implement lcdexec the way I want to.

@markus2330
Copy link

Yes, I will tag you when it is ready.

Note that I will not poll here, so please mention me.

@kodebach
Copy link
Member Author

@markus2330 You can take a look at the code now. If you want to compile it, you need to use the Elektra version from ElektraInitiative/libelektra#2707.

Actually using the new version will be tedious however, because I still need to fix the spec plugin, so defaults for array elements work. So until that is done, I suggest you only look at the code. If you really want to try stuff, start by copying curses config from above and expect lots of "Key xyz not found" errors where you manually need to set the default.

My plan is to not update anymore drivers and work on my thesis instead. The remaining drivers should mostly be straight-forward to update. I will probably do it, once my thesis is finished. But since I can't even test most of the drivers that I updated already, I don't really see any reason to waste time.

The readconf.py needs an update too, so using that won't work either right now.

Also I noticed that having boolean keys with default value true doesn't work. I don't know whether that is something that can be fixed though, because I think we would need to transform the default metakey in the type for that.

@markus2330
Copy link

So until that is done, I suggest you only look at the code.

Ok!

The remaining drivers should mostly be straight-forward to update.

Are there any important drivers missing? Maybe @Piankero can help out?

The readconf.py needs an update too, so using that won't work either right now.

see #8

Also I noticed that having boolean keys with default value true doesn't work. I don't know whether that is something that can be fixed though, because I think we would need to transform the default metakey in the type for that.

I opened ElektraInitiative/libelektra#2723

multi-line comments otherwise break everything
@markus2330
Copy link

@kodebach can you please merge this to master?

If possible, please also rebase our master (of https://github.com/ElektraInitiative/lcdproc) to the current master of LCDproc.

@kodebach kodebach marked this pull request as ready for review October 7, 2019 09:05
@kodebach kodebach merged commit e35c481 into ElektraInitiative:master Oct 7, 2019
@markus2330
Copy link

Thank you! So @haraldg can now test the master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants