Changes between Version 6 and Version 7 of Docs/Prog/Manual/ApplicationLibraries/lib825ev/Weight/StartRepeatMulti


Ignore:
Timestamp:
03/22/12 08:05:49 (13 years ago)
Author:
Don Wilson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Docs/Prog/Manual/ApplicationLibraries/lib825ev/Weight/StartRepeatMulti

    v6 v7  
    5050}}}
    5151
     52Here is an example of a complete sample application:
     53
     54repeatmulti.h:
     55{{{
     56#ifndef REPEATMULTI_H_
     57#define REPEATMULTI_H_
     58
     59EVENT(MainScreenShow);
     60
     61BACKGROUND_EVENT(Comm);
     62
     63MNBD_EVENT(MultiRcv);
     64EVENT(Exit);
     65
     66
     67#endif /* REPEATMULTI_H_ */
     68
     69}}}
     70
     71repeatmulti.cpp:
     72
     73{{{
     74#include <stdio.h>
     75#include <stdlib.h>
     76
     77#include "cardinal825.h"
     78
     79#include "repeatmulti.h"
     80
     81int main()
     82{
     83        InitLCD();
     84
     85        SetCurColor(COLOR_ATTENTION);
     86        DisplayText(0, 0, "Repeat Multi Example");
     87
     88        ReadTouchCal();
     89        OpenBeeper();
     90        OpenTouch();
     91
     92        MnBdStartup();
     93
     94        MnBdSetEvent(MNBD_REQ_REP_MULTI, MnBdEventMultiRcv);
     95
     96        SetBackgroundEvent(BackgroundEventComm);
     97
     98        if(StartRepeatMulti(100) != OK)
     99        {
     100                DisplayText(0, FONT_HEIGHT, "Error starting repeat multi");
     101                return 0;
     102        }
     103
     104        FORM_INIT(Main, EventMainScreenShow, NULL, NULL, NULL, nFormFlgNone);
     105
     106        FORM_ADD_BUTTON(Main, Zero, 0, FONT_HEIGHT * 12, " Exit ", 'X', EventExit, FORM_BUTTON_INVERT);
     107
     108        FORM_SHOW(Main);
     109        FORM_RUN(Main);
     110        FORM_HIDE(Main);
     111
     112        StopRepeatMulti();
     113        SetBackgroundEvent(NULL);
     114
     115        MnBdShutdown();
     116
     117        return 0;
     118}
     119
     120EVENT(MainScreenShow)
     121{
     122        SetCurColor(COLOR_ATTENTION);
     123        DisplayText(0, 0, "Repeat Multi Example");
     124
     125        return 0;
     126}
     127
     128EVENT(Exit)
     129{
     130        return 1; // return non-zero to exit form
     131}
     132
     133MNBD_EVENT(MultiRcv)
     134{
     135        int n;
     136        for(n = 1; n <= GetNumScales(); n++)
     137        {
     138                if(IsGrossWtChanged(n))
     139                {
     140                        DisplayText(0, (FONT_HEIGHT * n) + FONT_HEIGHT, GetChangedGrossWt(n));
     141                }
     142        }
     143        return 0;
     144}
     145
     146BACKGROUND_EVENT(Comm)
     147{
     148        // Use MnBdRead directly to prevent overhead of MnBdProcess
     149        // MnBdRead will call event MultiRcv that we registered previously when scale and DIO status is received
     150
     151        int n;
     152        // in case we have more I/O cards than scales change this
     153        for(n = 0; n <= GetNumScales(); n++)
     154        {
     155                // 0 = MNBD_DEV, 1 .. Scales and I/O cards
     156                MnBdRead(n);
     157        }
     158
     159        return 0;
     160}
     161
     162}}}
     163
    52164== See Also ==
    53165