Some errors

Hi !

I've just updated my eclipse mrl sources and built a fresh Myrobolab.jar . i've changed the start argument with SwingGui and all work well . But i see some errors in the log at the bottom of python tab . No red band at the bottom of the gui's window.

I don' know if it's important but here is what i saw ( the script is with virtual arduino ) :


[varduino.mrlcomm] [ERROR] writeByte overrun - should be  -32,768 <= value <= 32,767 - value = 74276230
[gui] [WARN] no such method LogGui.onState(Log) :  - attempting upcasting
[gui] [WARN] searching through 63 methods
[gui] [ERROR] did not find method - onState(Log)
java.lang.NoSuchMethodException: could not find Serial.refresh(ordinal 0) in declared methods
    at org.myrobotlab.codec.MethodCache.getCandidateOnOrdinalSignature(
    at org.myrobotlab.service.WebGui.processMessageAPI(
    at org.myrobotlab.service.WebGui.handle(


As you can see i didn't copy-paste all, but i think it's enouth !




GroG's picture

Beetle ! Ok, thanks for

Beetle !

Ok, thanks for reporting - let's get virtual Sweety worky :)

  • could not find Serial.refresh(ordinal 0 The way to interact with serial connections was refactored 

    It's a widget !!! - so everyone can use it and it only takes 2 lines of code in SwingGui !
    It has an 'editable' drop down so it can show you the ports found on the machine, but you can still add 'custom' ports like tcp://somehost:8080 
    Its one piece of code - so you fix it once and everyone benefits !
    - in the refactor method name refresh got changed to getPortNames (WebGui wasn't updated - now it is  FIXED


  • The LogGui didn't have a onState(Log log) method - FIXED
  • The buffer overrun might be initial communication problem ? - not sure .. I'll have to look deeper into that - also ran into a bug with double tabs which I need to look further into 

    The two items fixed should be in the latest (just pull)

GroG's picture

I fixed some more errors -

I fixed some more errors - (get the latest in another pull) ..
one place is in your overriden Sweety.publishState()

I think I underestand you wanted all the services refreshed at that point - perhaps you should have a seperate method.

The framework calls this method and quite likely the other services are even created yet .. 
I added a null pointer check to each, but I don't think this is the way to go.

preferrably Sweety can have a refresh() method which calls all the broadcastState() methods.

Another change I added is the peers are 'created' in the constructor of Sweety ... 

Hope this is better for you 


beetlejuice's picture

Thx Greg, sorry to didn't

Thx Greg, sorry to didn't answer in the chatbox, i had to go quickly ... Thanks For you help, there's some month that i didn't worked on sweety, i've to re-learn and remember some things ! Lot of change to do in ...