Hello,
Posted 27 December 2016 - 22:33
cd build source env.source MACHINE=xxx bitbake enigma2
Edited by athoik, 27 December 2016 - 22:33.
Posted 27 December 2016 - 22:34
Edited by betacentauri, 27 December 2016 - 22:36.
Posted 27 December 2016 - 23:19
cd build source env.source MACHINE=vusolo2 bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c patch
Make the necessary changes.
MACHINE=vusolo2 bitbake enigma2 -c package_write_ipk
It creates a package but no delete enigma2 source codes.
MACHINE=vusolo2 bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c cleansstate && MACHINE=vusolo2 bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c patch
Edited by Taapat, 27 December 2016 - 23:20.
Posted 28 December 2016 - 13:34
Posted 28 December 2016 - 14:17
Posted 28 December 2016 - 14:22
So, I should use this command:
MACHINE=mbmicro bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c cleansstate && MACHINE=mbmicro bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c patch
?
I need to prepare patch file and put it somewhere or simple directly modify cpp files?
Edited by samsamsam, 28 December 2016 - 14:26.
Posted 28 December 2016 - 14:45
cd build source env.source MACHINE=mbmicro bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c cleansstate && MACHINE=mbmicro bitbake -b ../meta-openpli/recipes-openpli/enigma2/enigma2.bb -c patch
MACHINE=mbmicro bitbake enigma2 -c package_write_ipk
Edited by Taapat, 28 December 2016 - 14:53.
Posted 28 December 2016 - 15:04
When developing enigma2, you'd actually want your own develop directory (= enigma git repo clone), have a makefile there and simply type make to build a new binary. It IS possible but it's difficult. I have a script to do that, but I need to make adjustments every now and then, when OE changes "something".
* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.
Posted 29 December 2016 - 01:47
In case of development bitbake is not good solution as I can see, but, anyway.
Thank you very much for your help.
With provied information I was able to test my workaround for remote control driver in MBMicro.
With this workaround remote control works much better (not perfect) but much more better.
Let me describe the issue about which I wrote.
When we press very fast, for example "OK" button three times, from driver we will get events as follow:
void eRCDeviceInputDev::handleCode(long rccode) { struct input_event *ev = (struct input_event *)rccode; ... #if 0 // @sss switch (ev->value) { case 0: input->keyPressed(eRCKey(this, ev->code, eRCKey::flagBreak)); /*emit*/ break; case 1: input->keyPressed(eRCKey(this, ev->code, 0)); /*emit*/ break; case 2: input->keyPressed(eRCKey(this, ev->code, eRCKey::flagRepeat)); /*emit*/ break; } #else // @sss start /* This is workaround for problem with MBMicro remote control driver * When we press very fast, for example "OK" button three times, * from driver we will get events as follow: * PRESSED * REPEAT * REPEAT * RELASED * * The valid sequence of events for this sample should be: * PRESSED * RELEASED * PRESSED * RELEASED * PRESSED * RELEASED * * This workaround try to correct event sequence based on timestamp heuristics. * This workaround can works as expected only when repeat repeat will be set to 100 and repeat delay to 10. * with such setting emulate repeat delay will be forced to ~500. */ { uint64_t timestamp = (ev->time.tv_sec * (uint64_t)1000) + (ev->time.tv_usec / 1000); switch (ev->value) { case 0: /* release */ input->keyPressed(eRCKey(this, ev->code, eRCKey::flagBreak)); /*emit*/ prevTimestamp = 0; break; case 1: /* pressed */ input->keyPressed(eRCKey(this, ev->code, 0)); /*emit*/ lastPressedTimestamp = timestamp; prevTimestamp = timestamp; firsRepeatAfterKeyPressed = true; break; case 2: { /* repeat */ uint64_t diff = timestamp - prevTimestamp; if ((firsRepeatAfterKeyPressed && diff <= 172) || (!firsRepeatAfterKeyPressed && diff <= 152)) { if ((timestamp - lastPressedTimestamp) >= 500) // repeat delay 500 { /* real repeat */ input->keyPressed(eRCKey(this, ev->code, eRCKey::flagRepeat)); /*emit*/ } /* else { // skip, repeat too early } */ } else { // we will take this repeat as key pressed /* fake release */ input->keyPressed(eRCKey(this, ev->code, eRCKey::flagBreak)); /*emit*/ /* fake pressed */ input->keyPressed(eRCKey(this, ev->code, 0)); /*emit*/ lastPressedTimestamp = timestamp; } firsRepeatAfterKeyPressed = false; } break; default: break; } prevTimestamp = timestamp; } #endif // @sss end }
0 members, 10 guests, 0 anonymous users