Git Product home page Git Product logo

m2tklib's People

Watchers

 avatar

m2tklib's Issues

Add ATOMIC_BLOCK for GetFromQueue

http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html#ga362c18b15a
09703e42e1c246c47420ef

#include <util/atomic.h>

ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
{
  // ...
}

to be protected from interrupts. This will ensure, that setKey can be called 
within interrupts.

Maybe, add this also to PutIntoQueue()


Original issue reported on code.google.com by [email protected] on 10 Jul 2011 at 11:03

set key problem with C99 mode of Arduino IDE

/home/kraus/prg/arduino-0022/libraries/M2tklib/utility/m2key.c: In Funktion 
»m2_GetKeyFromQueue«:
/home/kraus/prg/arduino-0022/libraries/M2tklib/utility/m2key.c:35: Fehler: 
»for« loop initial declaration used outside C99 mode

Original issue reported on code.google.com by [email protected] on 16 Jul 2011 at 10:47

Add U8NUMFN and U32NUMFN

points to a callback procedure instead of address of variable

uint32_t u32fn(uint8_t msg, uint32_t arg);
uint8_t u8fn(uint8_t msg, uint8_t arg);

msg = M2_NUM_MSG_GET   /* returns value from procedure */
msg = M2_NUM_MSG_SET   /* provides value in "arg" */






Original issue reported on code.google.com by [email protected] on 26 Jan 2012 at 11:25

overlap correction

fix bug in
m2_calc_hlist_width_overlap_correction
which does not handle the value cnt=0 correctly.

also check vlist

the result of this bug was, that the elements within the hlist are shifted by 
one to the right. 

Original issue reported on code.google.com by [email protected] on 21 Aug 2011 at 7:35

M2_FLOAT

Add float support.
options:
cN
total digits, without "."
.N
digits after the "."

"c4.2"
--> 12.34
"c4.0"
--> 1234

size calculation: num("c") + ( num(".") == 0 ? 0 : num(".")+1 )

Original issue reported on code.google.com by [email protected] on 12 Jul 2011 at 9:36

[feature] It would be nice to have a checkbox

Checkboxes are like radio buttons, but rather than selecting one value, they 
toggle between two values.

As it is, right now the only way to implement an on/off control is with two 
radio buttons or a combobox.

Original issue reported on code.google.com by [email protected] on 11 Jul 2011 at 6:53

M2_LIST --> warning when & is used

by redefining the ptr-list argument in the element structures, it should be 
possible to emit
warning: initialization from incompatible pointer type
(error in C++)

if the "&" is used on the list.

instead of the current
  m2_rom_void_p el_list;
use
  m2_rom_void_p *el_list;

current definition is:
#define M2_PROGMEM PROGMEM
typedef void m2_rom_void M2_PROGMEM;
typedef const m2_rom_void *m2_rom_void_p;


Original issue reported on code.google.com by [email protected] on 12 Jul 2011 at 9:56

Port LEDFlash example

... to dogm and char LCD.
Perhaps create tutorial. Objective: Two different, independent processes.


Original issue reported on code.google.com by [email protected] on 20 Aug 2011 at 7:24

[feature] Empty label for padding GRIDLISTS

It's not clear whether a GRIDLIST will behave correctly if the number of 
entries in the list is not a multiple of the grid width.

If not, then it would be good to have a predefined empty label for padding the 
list.

This may be clarified when M2_GRIDLIST is documented.

Original issue reported on code.google.com by [email protected] on 11 Jul 2011 at 7:24

Add LABELFN Element

Add element which gets the string from a callback procedure.

const char get_str(void)
{
  return "label text"
}


Original issue reported on code.google.com by [email protected] on 26 Jan 2012 at 9:34

Crash/hang on menu with just one selectable entry

Configure this menu:

M2_LABEL(_main_title,   "f1", "Title");
M2_ROOT(_main_dummy,    "f0", "Dummy",     &_dummy);
M2_LIST(_main_list) = { &_main_title, &_main_dummy };
M2_VLIST(_main, NULL, _main_list);

M2tk    m2(&_main, m2_es_arduino, m2_eh_4bs, m2_gh_glcd_ffs);

Then call:

m2_SetKey(M2_KEY_PREV);
m2_SetKey(M2_KEY_PREV);
m2_SetKey(M2_KEY_PREV);

This will crash/hang an Arduino.

Original issue reported on code.google.com by [email protected] on 11 Jul 2011 at 6:42

Add GFX_MSG to put level information to the graphics device

Background: The u8glib subsystem does not have an xor operation. However, to 
render text fields in the focus-box mode, it is required for the low level 
driver to know the color for text drawing procedures within the chars of a text 
element.

therefor pass
M2_GFX_MSG_DOWN, new depth as arg
and 
M2_GFX_MSG_UP, old depth as arg





Original issue reported on code.google.com by [email protected] on 28 Mar 2012 at 6:17

space element

introduce element which has a selectable width and height (box?)
idea: can be placed between strlist and vsb


Original issue reported on code.google.com by [email protected] on 7 Sep 2011 at 10:31

Enhanced STRLIST

Should allow
- file/folder selection
- multi selection

introduce a first column
Additional options:
F font of the first column
e pixel/char space of the first colunn
E relative space of the first column
e or E will activate the new column and a new message will be sent

The returned string will be displayed in the first column

Original issue reported on code.google.com by [email protected] on 16 Apr 2012 at 5:31

elinfo, based on strlist

write M2_ELINFO, element to display some text, based on the strlist element

- extract total number of lines
- extract specified line


Original issue reported on code.google.com by [email protected] on 22 Aug 2011 at 11:25

Make a menu tutorial

create a bigger tutorial about nested menus
A) Use root and button elements
B) use STRLIST elements

show screenshots

Original issue reported on code.google.com by [email protected] on 13 Nov 2011 at 11:40

6-button handler

DATA_UP/DOWN not accepted by arduino
-> DATA_UP and DATA_DOWN support inside m2pin.c

DATA_UP/DOWN should fallback to prev/next (e.g. in strlist)
-> 6bs handler change


Original issue reported on code.google.com by [email protected] on 21 Mar 2012 at 6:31

create dialog tutorial

example: set time
four parts:
- local variables
- m2tk code, used/modifies local variables
- procedure: fill local variables (with current time)
- procedure: use local variables (to set current time)


Original issue reported on code.google.com by [email protected] on 26 Mar 2012 at 7:07

Enhancement request: IRremote event source for arduino

Arduino's event source is good to start project but may be good idea to have 
some choice?

for instance I wrote this one, its work well but may be it is possible to use 
your library's pin-key mapping to develop common case:

--------------------------------------------------------------------
#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

uint8_t m2_es_arduino_ir(m2_p ep, uint8_t msg) {
  switch(msg)
  {
    case M2_ES_MSG_GET_KEY:
      if (irrecv.decode(&results)) {
        irrecv.resume(); // Receive the next value
        switch(results.value) {
          case 0xFFC23D:
            return M2_KEY_SELECT;
          case 0xFFB04F:
            return M2_KEY_EXIT;
          case 0xFF02FD:
            return M2_KEY_NEXT;
          case 0xFF22DD:
            return M2_KEY_PREV;
          case 0xFF0000:
            return M2_KEY_DATA_UP;
          case 0xFF0001:
            return M2_KEY_DATA_DOWN;
          default:
            return M2_KEY_NONE;
         }
      }
    default:
      return 0;
  }
} 
--------------------------------------------------------------------

BTW: I have disable key debouncing in library. Without that this event provider 
do not works properly.

Original issue reported on code.google.com by [email protected] on 26 Nov 2011 at 6:25

document M2_ELSPACE

put some space between other element
use w and h, only makes sens within vlist, hlist, grid

Original issue reported on code.google.com by [email protected] on 8 Sep 2011 at 8:02

create v1.02

- document ".x" for M2_U32NUM
- release testing

Original issue reported on code.google.com by [email protected] on 15 Jul 2011 at 9:49

HLIST nested in VLIST hangs when displaying

M2_LABEL(_setup_title, "f1", "Setup");

M2_LABEL(_setup_beep_l, "f0", "Beep");
M2_COMBO(_setup_beep_c, "f0", &_setup_beep_state, 3, _setup_beep_strings);
M2_LIST(_setup_beep_list) = { &_setup_beep_l, &_setup_beep_c };
M2_HLIST(_setup_beep, NULL, &_setup_beep_list);

M2_ROOT(_setup_exit, "f0", "exit", &_main);

M2_LIST(_setup_list) = { &_setup_title, &_setup_beep, &_setup_exit };
M2_VLIST(_setup, NULL, _setup_list);

This menu hangs after drawing the "Setup" title.

If it is re-organised without the _setup_beep_list/HLIST and all three elements 
are listed in the _setup_list, it works correctly.

Original issue reported on code.google.com by [email protected] on 11 Jul 2011 at 7:20

document M2_ELSPACE

put some space between other element
use w and h, only makes sens within vlist, hlist, grid

Original issue reported on code.google.com by [email protected] on 9 Sep 2011 at 4:50

  • Merged into: #28

strlist

- example needed (maybe takeover glcd SensorValues example, but it should be 
simplified)
- check for SELECT message, this has been added but it has not been tested

Original issue reported on code.google.com by [email protected] on 4 Sep 2011 at 12:01

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.