OpenTX: Lua Widget, SHADOWED en BLINK flags werken niet (Horus)

Discussie in 'Modelbouwsoftware' gestart door Hobby4Life, 11 aug 2019.

  1. Hobby4Life

    Hobby4Life

    Lid geworden:
    20 nov 2009
    Berichten:
    1.219
    Locatie:
    Avenhorn
    Hallo allen,

    Ik ben al een tijdje bezig met wat scriptjes voor de Horus.

    Alleen stuit ik steeds op het probleem dat de flags SHADOWED en BLINK (en mogelijk andere) niet werken.

    Dit is mijn stukje code om het te testen:

    Code:
    
    local options = {
        { "Color", COLOR, WHITE },   
        { "Shadow", BOOL, 0}
    }
    
    function create(zone, options)
        local Context = { zone=zone, options=options }
        return Context
    end
    
    -- This function allow updates when you change widgets settings
    local function update(Context, options)
      Context.options = options
    end
    
    
    
    function ScreenUpdate(Context)
    
        lcd.drawText(Context.zone.x, Context.zone.y - 8, "Hello" , CUSTOM_COLOR + DBLSIZE + shadowed + BLINK)
        
    end
    
    
    
    
    function update(Context, options)
        Context.options = options
        Context.back = nil
    end
    
    function refresh(Context)
        
        lcd.setColor(CUSTOM_COLOR, Context.options.Color)
        
        if Context.options.Shadow == 1 then
            shadowed = SHADOWED
        else
            shadowed = 0
        end   
        
        ScreenUpdate(Context)
        
    end
    
    return { name="ShadowTest", options=options, create=create, update=update, refresh=refresh }
    
     
  2. toostbeek

    toostbeek

    Lid geworden:
    6 dec 2014
    Berichten:
    1.173
    Volgens mij zijn deze functies specifiek voor zenders met een monochrome display zoals de Taranis.
     
  3. Hobby4Life

    Hobby4Life

    Lid geworden:
    20 nov 2009
    Berichten:
    1.219
    Locatie:
    Avenhorn
    Hoi,

    Shadowed is alleen voor de Horus, en Blink is voor alle typen..

    Ik weet dat het werkt, omdat ik stukken code heb waarbij het wel werkt.. alleen kan niet uitvinden waarom dit simpel stukkie code niet werkt :confused:
     
  4. erve

    erve

    Lid geworden:
    17 aug 2003
    Berichten:
    54
    Locatie:
    Belgiƫ
    Ik ben 'nog' niet bezig met Lua maar meen me wel te herinneren van andere programmeeromgevingen dat je 'GERESERVEERDE' woorden niet mag gebruiken als variabele.
    In deze functie is SHADOWED een gereserveerd woord en gebruik je 'shadowed' als variable.


    Code:
    
    function refresh(Context)
     
        lcd.setColor(CUSTOM_COLOR, Context.options.Color)
     
        if Context.options.Shadow == 1 then
            shadowed = SHADOWED
        else
            shadowed = 0
        end
     
        ScreenUpdate(Context)
     
    end
    
    return { name="ShadowTest", options=options, create=create, update=update, refresh=refresh }
    
    [/QUOTE]
     
  5. Hobby4Life

    Hobby4Life

    Lid geworden:
    20 nov 2009
    Berichten:
    1.219
    Locatie:
    Avenhorn
    Hoi, je constatering is deels juist. alleen Lua en bijvoorbeeld C zijn case sensitive. je kan dus meerdere lijkende variabelen hebben. Bijvoorbeeld:

    sensor1
    Sensor1
    SENSOR1
    SenSor1

    Zijn 4 verschillende variabelen.
     
  6. Hobby4Life

    Hobby4Life

    Lid geworden:
    20 nov 2009
    Berichten:
    1.219
    Locatie:
    Avenhorn
    EDIT----

    Done :),
     
    Laatst bewerkt: 16 sep 2019
    toostbeek vindt dit leuk.
  7. toostbeek

    toostbeek

    Lid geworden:
    6 dec 2014
    Berichten:
    1.173
    Misschien even bij de post over Lua GPS zetten? Dan blijft het verhaal compleet
     

Deel Deze Pagina