SRD Standelone programmation box: ButtonManager.h File Reference

| SRD Standelone programmation box 2.0 (16/11/15 10:00:00) Documentation of the SRD standelone programmation box

- Main Page
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Enumerations Enumerator Macros Pages
Data Structures | Macros | Enumerations | Functions | Variables
ButtonManager.h File Reference

Headerfile for Button Management. More...

`#include "Button.h"`
`#include "PowerManager.h"`
`#include "BQ27510DRZRG2.h"`
`#include "Display.h"`
`#include "StringTools.h"`
`#include "Tick.h"`
`#include "MemoryManager.h"`
`#include "rtc.h"`
`#include "RFIDManager.h"`
Include dependency graph for ButtonManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | tButtonManagerCtrl
| Button power manager mode. More...

## Macros

#define | BUTTON_MANAGER_TIME_MS_TO_TRIG (2000U)
| Define the minimum pressed button time in ms to generate a read or a write operation. More...
#define | BUTTON_MANAGER_TIME_MS_DISPLAY (3000U)
| Define the time interval in ms used to change the dfisplayed informations. More...

## Enumerations

enum

tButtonManagerOpState {
BUTTONMANAGER_STATE_STANDBY = 0, BUTTONMANAGER_STATE_START = 1, BUTTONMANAGER_STATE_WAIT_RFID = 2, BUTTONMANAGER_STATE_DISPLAY_RFID_ERROR = 3,
BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE_ERROR = 4, BUTTONMANAGER_STATE_DISPLAY_LOG_ERROR = 5, BUTTONMANAGER_STATE_DISPLAY_RFID_READ = 6, BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE = 7,
BUTTONMANAGER_STATE_DISPLAY_WAIT_TIME = 8, BUTTONMANAGER_STATE_WAIT_RELEASE = 9, BUTTONMANAGER_STATE_FINISH = 10
}

| Enumeration of state used to control the button manager. More...
enum | tButtonManagerLpm { BUTTONMANAGER_READY_FOR_LPM = 1, BUTTONMANAGER_WORKING = 0 }
| Button power manager mode. More...

## Functions

void | ButtonManagerInit (void)
| Function used to initialize the button manager. More...
void | ButtonManager (void)
| Button manager function. More...

## Variables

tButtonManagerCtrl | ButtonManagerCtrl
| Structure used by the button controller to control button operation. More...

## Detailed Description

Headerfile for Button Management.

Author
  Thibaut LALUQUE 3D-Ouest

Date
  20/11/2014

Version
  1.0

All Right Reserved.

Definition in file ButtonManager.h.

## Macro Definition Documentation

#define BUTTON_MANAGER_TIME_MS_DISPLAY (3000U)

Define the time interval in ms used to change the dfisplayed informations.

Definition at line 50 of file ButtonManager.h.

Referenced by ButtonManagerDealer().

#define BUTTON_MANAGER_TIME_MS_TO_TRIG (2000U)

Define the minimum pressed button time in ms to generate a read or a write operation.

Definition at line 42 of file ButtonManager.h.

Referenced by ButtonManager().

## Enumeration Type Documentation

enum tButtonManagerLpm

Button power manager mode.

Enumerator
BUTTONMANAGER_READY_FOR_LPM | Button manager is ready for Low Power Mode
BUTTONMANAGER_WORKING | Button manager is working

Definition at line 86 of file ButtonManager.h.

86 {
87 BUTTONMANAGER_READY_FOR_LPM = 1, /*!< Button manager is ready for Low Power Mode */
88 BUTTONMANAGER_WORKING = 0 /*!< Button manager is working */
89 }tButtonManagerLpm;
tButtonManagerLpm
tButtonManagerLpm
Button power manager mode.
Definition: ButtonManager.h:86
BUTTONMANAGER_READY_FOR_LPM
Definition: ButtonManager.h:87
BUTTONMANAGER_WORKING
Definition: ButtonManager.h:88

enum tButtonManagerOpState

Enumeration of state used to control the button manager.

Enumerator
BUTTONMANAGER_STATE_STANDBY | Standby state
BUTTONMANAGER_STATE_START | Start state (button press detection)
BUTTONMANAGER_STATE_WAIT_RFID | RFID operation state
BUTTONMANAGER_STATE_DISPLAY_RFID_ERROR | RFID Error detected state
BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE_ERROR | RFID write operation error state
BUTTONMANAGER_STATE_DISPLAY_LOG_ERROR | RFID Log operation error state
BUTTONMANAGER_STATE_DISPLAY_RFID_READ | RFID read oepration state
BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE | RFID Write operation state
BUTTONMANAGER_STATE_DISPLAY_WAIT_TIME | Display wait time state
BUTTONMANAGER_STATE_WAIT_RELEASE | Button release state
BUTTONMANAGER_STATE_FINISH | Finish state

Definition at line 66 of file ButtonManager.h.

66 {
67 BUTTONMANAGER_STATE_STANDBY = 0, /*!< Standby state */
68 BUTTONMANAGER_STATE_START = 1, /*!< Start state (button press detection) */
69 BUTTONMANAGER_STATE_WAIT_RFID = 2, /*!< RFID operation state */
70 BUTTONMANAGER_STATE_DISPLAY_RFID_ERROR = 3, /*!< RFID Error detected state */
71 BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE_ERROR = 4, /*!< RFID write operation error state */
72 BUTTONMANAGER_STATE_DISPLAY_LOG_ERROR = 5, /*!< RFID Log operation error state */
73 BUTTONMANAGER_STATE_DISPLAY_RFID_READ = 6, /*!< RFID read oepration state */
74 BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE = 7, /*!< RFID Write operation state */
75 BUTTONMANAGER_STATE_DISPLAY_WAIT_TIME = 8, /*!< Display wait time state */
76 BUTTONMANAGER_STATE_WAIT_RELEASE = 9, /*!< Button release state */
77 BUTTONMANAGER_STATE_FINISH = 10 /*!< Finish state */
78 }tButtonManagerOpState;
BUTTONMANAGER_STATE_START
Definition: ButtonManager.h:68
BUTTONMANAGER_STATE_FINISH
Definition: ButtonManager.h:77
BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE_ERROR
Definition: ButtonManager.h:71
BUTTONMANAGER_STATE_DISPLAY_RFID_READ
Definition: ButtonManager.h:73
BUTTONMANAGER_STATE_STANDBY
Definition: ButtonManager.h:67
tButtonManagerOpState
tButtonManagerOpState
Enumeration of state used to control the button manager.
Definition: ButtonManager.h:66
BUTTONMANAGER_STATE_DISPLAY_RFID_WRITE
Definition: ButtonManager.h:74
BUTTONMANAGER_STATE_DISPLAY_RFID_ERROR
Definition: ButtonManager.h:70
BUTTONMANAGER_STATE_DISPLAY_WAIT_TIME
Definition: ButtonManager.h:75
BUTTONMANAGER_STATE_WAIT_RELEASE
Definition: ButtonManager.h:76
BUTTONMANAGER_STATE_DISPLAY_LOG_ERROR
Definition: ButtonManager.h:72
BUTTONMANAGER_STATE_WAIT_RFID
Definition: ButtonManager.h:69

## Function Documentation

void ButtonManager | ( | void |  | ) |

Button manager function.

Definition at line 354 of file ButtonManager.c.

References tButtonManagerCtrl::all, tPowerManagerCtrl::bits, tButtonManagerCtrl::bits, tMemoryManagerCtrl::bits, BQBatteryStatus, BUTTON_MANAGER_TIME_MS_TO_TRIG, BUTTON_PRESSED, BUTTON_RELEASED, BUTTONMANAGER_READY_FOR_LPM, BUTTONMANAGER_STATE_STANDBY, BUTTONMANAGER_STATE_START, BUTTONMANAGER_WORKING, ButtonManagerDealer(), ButtonManagerDisplayDateError(), ButtonManagerDisplayNone(), ButtonManagerDisplayProgrammedError(), ButtonReadGetState, ButtonWriteGetState, tMemoryManagerDiving::depth, DISPLAY_POWER_ON, DISPLAY_TOTAL_DIGIT, DisplayGetDataDisplayed(), DisplaySetDataDisplayed(), DisplaySetPower(), DivingParameters, tPowerManagerCtrl::flags, tMemoryManagerCtrl::isValid, lastReadBpState, lastWriteBpState, tButtonManagerCtrl::lpm, MemoryManagerCtrl, tButtonManagerCtrl::operation, tButtonManagerCtrl::opState, PowerManagerCtrl, readBpMsRef, RtcUpdatedSinceLastReset(), tBQBatteryStatus::stateOfCharge, TickGetMsCounter(), TickMilliSecElapsedFrom(), waitAllUnpressed, and writeBpMsRef.

Referenced by taskBackground().

354 {
355 static unsigned char state = 0;
356 static unsigned long msRef = 0;
357
358 /*=== button management for connected device ===*/
359 if(PowerManagerCtrl.flags.bits.usbConnected ) {
360
361 if(ButtonWriteGetState() == BUTTON_PRESSED && ButtonReadGetState() == BUTTON_PRESSED ) {
362
363 ButtonManagerCtrl.lpm = BUTTONMANAGER_WORKING;
364
365 /*-- Display current load only if battery have no error --*/
366 if(PowerManagerCtrl.flags.bits.batteryError == 0) {
367 DisplaySetPower(DISPLAY_POWER_ON);
368 char data[DISPLAY_TOTAL_DIGIT];
369 DisplayGetDataDisplayed(data);
370
371 if(state == 0) {
372 state = 1;
373 msRef = TickGetMsCounter();
374 }
375
376 if(state == 1) {
377 if(TickMilliSecElapsedFrom(msRef) >= 2000) {
378 state = 2;
379 msRef = TickGetMsCounter();
380 }
381 unsigned short load = BQBatteryStatus.stateOfCharge;
382 data[DISPLAY_TOTAL_DIGIT-1] = (load % 10) + '0';
383 load /= 10;
384 if(load != 0) {
385 data[DISPLAY_TOTAL_DIGIT-2] = (load % 10) + '0';
386 } else {
387 data[DISPLAY_TOTAL_DIGIT-2] = 0;
388 }
389 load /= 10;
390 if(load != 0) {
391 data[DISPLAY_TOTAL_DIGIT-3] = (load) + '0';
392 } else {
393 data[DISPLAY_TOTAL_DIGIT-3] = 0;
394 }
395 data[0] = 'b';
396 } else {
397 if(TickMilliSecElapsedFrom(msRef) >= 2000) {
398 state = 1;
399 msRef = TickGetMsCounter();
400 }
401 unsigned short load = DivingParameters.depth;
402 data[DISPLAY_TOTAL_DIGIT-1] = (load % 10) + '0';
403 load /= 10;
404 if(load != 0) {
405 data[DISPLAY_TOTAL_DIGIT-2] = (load % 10) + '0';
406 } else {
407 data[DISPLAY_TOTAL_DIGIT-2] = 0;
408 }
409 load /= 10;
410 if(load != 0) {
411 data[DISPLAY_TOTAL_DIGIT-3] = (load) + '0';
412 } else {
413 data[DISPLAY_TOTAL_DIGIT-3] = 0;
414 }
415 data[0] = 'd';
416 }
417 DisplaySetDataDisplayed(data);
418 }
419 } else {
420 state = 0;
421 ButtonManagerCtrl.lpm = BUTTONMANAGER_READY_FOR_LPM;
422 if(PowerManagerCtrl.flags.bits.batteryError == 0) {
423 //ButtonManagerDisplayNone();
424 char data[DISPLAY_TOTAL_DIGIT];
425 DisplayGetDataDisplayed(data);
426 data[1] = 0;
427 data[2] = 0;
428 data[3] = 0;
429 DisplaySetDataDisplayed(data);
430 }
431 }
432
433
434 /*=== Button management for disconnected device ===*/
435 } else {
436
437 if(ButtonWriteGetState() == BUTTON_PRESSED && ButtonReadGetState() == BUTTON_PRESSED ) {
438
439 ButtonManagerCtrl.lpm = BUTTONMANAGER_WORKING;
440 waitAllUnpressed = BUTTON_PRESSED;
441
442 /*-- Display current load only if battery have no error --*/
443 if(PowerManagerCtrl.flags.bits.batteryError == 0) {
444 char data[DISPLAY_TOTAL_DIGIT];
445 DisplayGetDataDisplayed(data);
446 DisplaySetPower(DISPLAY_POWER_ON);
447
448 if(state == 0) {
449 state = 1;
450 msRef = TickGetMsCounter();
451 }
452
453 if(state == 1) {
454 if(TickMilliSecElapsedFrom(msRef) >= 2000) {
455 state = 2;
456 msRef = TickGetMsCounter();
457 }
458 unsigned short load = BQBatteryStatus.stateOfCharge;
459 data[DISPLAY_TOTAL_DIGIT-1] = (load % 10) + '0';
460 load /= 10;
461 if(load != 0) {
462 data[DISPLAY_TOTAL_DIGIT-2] = (load % 10) + '0';
463 } else {
464 data[DISPLAY_TOTAL_DIGIT-2] = 0;
465 }
466 load /= 10;
467 if(load != 0) {
468 data[DISPLAY_TOTAL_DIGIT-3] = (load) + '0';
469 } else {
470 data[DISPLAY_TOTAL_DIGIT-3] = 0;
471 }
472 data[0] = 'b';
473 } else {
474 if(TickMilliSecElapsedFrom(msRef) >= 2000) {
475 state = 1;
476 msRef = TickGetMsCounter();
477 }
478 unsigned short load = DivingParameters.depth;
479 data[DISPLAY_TOTAL_DIGIT-1] = (load % 10) + '0';
480 load /= 10;
481 if(load != 0) {
482 data[DISPLAY_TOTAL_DIGIT-2] = (load % 10) + '0';
483 } else {
484 data[DISPLAY_TOTAL_DIGIT-2] = 0;
485 }
486 load /= 10;
487 if(load != 0) {
488 data[DISPLAY_TOTAL_DIGIT-3] = (load) + '0';
489 } else {
490 data[DISPLAY_TOTAL_DIGIT-3] = 0;
491 }
492 data[0] = 'd';
493 }
494 DisplaySetDataDisplayed(data);
495 }
496
497 /*-- Reset bp counter --*/
498 lastWriteBpState = BUTTON_RELEASED;
499 writeBpMsRef = 0;
500 lastReadBpState = BUTTON_RELEASED;
501 readBpMsRef = 0;
502
503 } else {
504
505 state = 0;
506
507 if(waitAllUnpressed == BUTTON_RELEASED) {
508
509 if(ButtonWriteGetState() == BUTTON_PRESSED) {
510
511 ButtonManagerCtrl.lpm = BUTTONMANAGER_WORKING;
512
513 if(MemoryManagerCtrl.isValid.bits.diving && RtcUpdatedSinceLastReset()) {
514
515 if(lastWriteBpState == BUTTON_RELEASED) {
516 lastWriteBpState = BUTTON_PRESSED;
517 writeBpMsRef = TickGetMsCounter();
518 } else {
519
520 if( TickMilliSecElapsedFrom(writeBpMsRef) >= BUTTON_MANAGER_TIME_MS_TO_TRIG) {
521 if(ButtonManagerCtrl.opState == BUTTONMANAGER_STATE_STANDBY) {
522 ButtonManagerCtrl.operation.bits.write = 1;
523 ButtonManagerCtrl.operation.bits.read = 0;
524 ButtonManagerCtrl.opState = BUTTONMANAGER_STATE_START;
525 }
526 }
527 }
528 } else {
529 if(MemoryManagerCtrl.isValid.bits.diving == 0) {
530 ButtonManagerDisplayProgrammedError();
531 } else {
532 ButtonManagerDisplayDateError();
533 }
534 }
535
536 } else {
537 lastWriteBpState = BUTTON_RELEASED;
538 writeBpMsRef = 0;
539 }
540
541
542 if(ButtonReadGetState() == BUTTON_PRESSED) {
543
544 ButtonManagerCtrl.lpm = BUTTONMANAGER_WORKING;
545
546 if(RtcUpdatedSinceLastReset() ) {
547
548 if(lastReadBpState == BUTTON_RELEASED) {
549 lastReadBpState = BUTTON_PRESSED;
550 readBpMsRef = TickGetMsCounter();
551 } else {
552
553 if( TickMilliSecElapsedFrom(readBpMsRef) >= BUTTON_MANAGER_TIME_MS_TO_TRIG) {
554 if(ButtonManagerCtrl.opState == BUTTONMANAGER_STATE_STANDBY) {
555 ButtonManagerCtrl.operation.bits.read = 1;
556 ButtonManagerCtrl.operation.bits.write = 0;
557 ButtonManagerCtrl.opState = BUTTONMANAGER_STATE_START;
558 }
559 }
560 }
561 } else {
562 ButtonManagerDisplayDateError();
563 }
564
565 } else {
566 lastReadBpState = BUTTON_RELEASED;
567 readBpMsRef = 0;
568 }
569
570 ButtonManagerDealer();
571 } else {
572 ButtonManagerDisplayNone();
573 if(ButtonReadGetState() == BUTTON_RELEASED && ButtonWriteGetState() == BUTTON_RELEASED) {
574 waitAllUnpressed = BUTTON_RELEASED;
575 }
576 }
577
578 if(waitAllUnpressed == BUTTON_RELEASED && lastReadBpState == BUTTON_RELEASED && lastWriteBpState == BUTTON_RELEASED && ButtonManagerCtrl.opState == BUTTONMANAGER_STATE_STANDBY && ButtonManagerCtrl.operation.all == 0) {
579 ButtonManagerDisplayNone();
580 ButtonManagerCtrl.lpm = BUTTONMANAGER_READY_FOR_LPM;
581 }
582 }
583 }
584 }
ButtonManagerDisplayDateError
void ButtonManagerDisplayDateError(void)
Definition: ButtonManager.c:215
lastWriteBpState
tButtonState lastWriteBpState
Definition: ButtonManager.c:61
RtcUpdatedSinceLastReset
unsigned char RtcUpdatedSinceLastReset(void)
Indicate if the RTC have been initialized or not.
Definition: rtc.c:122
BUTTONMANAGER_STATE_START
Definition: ButtonManager.h:68
BUTTON_PRESSED
Definition: button.h:67
DisplayGetDataDisplayed
void DisplayGetDataDisplayed(char digit[DISPLAY_TOTAL_DIGIT])
Function used get the data displayed.
Definition: display.c:117
ButtonManagerCtrl
tButtonManagerCtrl ButtonManagerCtrl
Structure used by the button controller to control button operation.
Definition: ButtonManager.c:73
ButtonManagerDealer
void ButtonManagerDealer(void)
Definition: ButtonManager.c:82
MemoryManagerCtrl
tMemoryManagerCtrl MemoryManagerCtrl
Variable used to control the memory manager.
Definition: MemoryManager.c:53
DisplaySetDataDisplayed
void DisplaySetDataDisplayed(char digit[DISPLAY_TOTAL_DIGIT])
Function used set the data displayed.
Definition: display.c:90
tButtonManagerCtrl::opState
tButtonManagerOpState opState
Definition: ButtonManager.h:107
BUTTON_MANAGER_TIME_MS_TO_TRIG
#define BUTTON_MANAGER_TIME_MS_TO_TRIG
Define the minimum pressed button time in ms to generate a read or a write operation.
Definition: ButtonManager.h:42
tButtonManagerCtrl::lpm
tButtonManagerLpm lpm
Definition: ButtonManager.h:109
DivingParameters
tMemoryManagerDiving DivingParameters
Variable used to control the diving parameters.
Definition: MemoryManager.c:54
tPowerManagerCtrl::flags
union tPowerManagerCtrl::@4 flags
waitAllUnpressed
tButtonState waitAllUnpressed
Definition: ButtonManager.c:63
ButtonManagerDisplayProgrammedError
void ButtonManagerDisplayProgrammedError(void)
Definition: ButtonManager.c:207
BUTTONMANAGER_STATE_STANDBY
Definition: ButtonManager.h:67
BUTTON_RELEASED
Definition: button.h:68
lastReadBpState
tButtonState lastReadBpState
Definition: ButtonManager.c:62
TickGetMsCounter
unsigned long TickGetMsCounter(void)
Get the milliseconds counter.
Definition: tick.c:137
tButtonManagerCtrl::bits
struct tButtonManagerCtrl::@0::@1 bits
DISPLAY_POWER_ON
Definition: display.h:116
tPowerManagerCtrl::bits
struct tPowerManagerCtrl::@4::@5 bits
tMemoryManagerDiving::depth
unsigned char depth
Definition: MemoryManager.h:88
BQBatteryStatus
tBQBatteryStatus BQBatteryStatus
Variable used to store informations about the cell monitoring.
Definition: BQ27510DRZRG2.c:61
ButtonManagerDisplayNone
void ButtonManagerDisplayNone(void)
Definition: ButtonManager.c:328
tButtonManagerCtrl::all
unsigned short all
Definition: ButtonManager.h:104
readBpMsRef
unsigned long readBpMsRef
Definition: ButtonManager.c:65
tBQBatteryStatus::stateOfCharge
unsigned short stateOfCharge
Definition: BQ27510DRZRG2.h:107
tButtonManagerCtrl::operation
union tButtonManagerCtrl::@0 operation
tMemoryManagerCtrl::isValid
union tMemoryManagerCtrl::@2 isValid
DisplaySetPower
void DisplaySetPower(tDisplayPowerState power)
Function used to enable/disable the display power.
Definition: display.c:204
writeBpMsRef
unsigned long writeBpMsRef
Definition: ButtonManager.c:64
tMemoryManagerCtrl::bits
struct tMemoryManagerCtrl::@2::@3 bits
BUTTONMANAGER_READY_FOR_LPM
Definition: ButtonManager.h:87
DISPLAY_TOTAL_DIGIT
#define DISPLAY_TOTAL_DIGIT
Define the total number of digits.
Definition: display.h:54
TickMilliSecElapsedFrom
unsigned long TickMilliSecElapsedFrom(unsigned long refTimeMs)
Get the milliseconds counter.
Definition: tick.c:141
ButtonWriteGetState
#define ButtonWriteGetState()
Macro used to get the button status.
Definition: button.h:104
BUTTONMANAGER_WORKING
Definition: ButtonManager.h:88
ButtonReadGetState
#define ButtonReadGetState()
Macro used to get the button status.
Definition: button.h:103
PowerManagerCtrl
tPowerManagerCtrl PowerManagerCtrl
Variable used by the power manager.
Definition: PowerManager.c:62

Here is the call graph for this function:

Here is the caller graph for this function:

void ButtonManagerInit | ( | void |  | ) |

Function used to initialize the button manager.

Definition at line 342 of file ButtonManager.c.

References tButtonManagerCtrl::all, BUTTON_RELEASED, ButtonInit(), BUTTONMANAGER_STATE_STANDBY, BUTTONMANAGER_WORKING, lastReadBpState, lastWriteBpState, tButtonManagerCtrl::lpm, tButtonManagerCtrl::operation, tButtonManagerCtrl::opState, readBpMsRef, waitAllUnpressed, and writeBpMsRef.

Referenced by Setup().

342 {
343 ButtonInit();
344 lastWriteBpState = BUTTON_RELEASED;
345 lastReadBpState = BUTTON_RELEASED;
346 writeBpMsRef = 0;
347 readBpMsRef = 0;
348 ButtonManagerCtrl.opState = BUTTONMANAGER_STATE_STANDBY;
349 ButtonManagerCtrl.operation.all = 0;
350 ButtonManagerCtrl.lpm = BUTTONMANAGER_WORKING;
351 waitAllUnpressed = BUTTON_RELEASED;
352 }
lastWriteBpState
tButtonState lastWriteBpState
Definition: ButtonManager.c:61
ButtonInit
void ButtonInit(void)
Function used to initialized the buttons.
Definition: button.c:78
ButtonManagerCtrl
tButtonManagerCtrl ButtonManagerCtrl
Structure used by the button controller to control button operation.
Definition: ButtonManager.c:73
tButtonManagerCtrl::opState
tButtonManagerOpState opState
Definition: ButtonManager.h:107
tButtonManagerCtrl::lpm
tButtonManagerLpm lpm
Definition: ButtonManager.h:109
waitAllUnpressed
tButtonState waitAllUnpressed
Definition: ButtonManager.c:63
BUTTONMANAGER_STATE_STANDBY
Definition: ButtonManager.h:67
BUTTON_RELEASED
Definition: button.h:68
lastReadBpState
tButtonState lastReadBpState
Definition: ButtonManager.c:62
tButtonManagerCtrl::all
unsigned short all
Definition: ButtonManager.h:104
readBpMsRef
unsigned long readBpMsRef
Definition: ButtonManager.c:65
tButtonManagerCtrl::operation
union tButtonManagerCtrl::@0 operation
writeBpMsRef
unsigned long writeBpMsRef
Definition: ButtonManager.c:64
BUTTONMANAGER_WORKING
Definition: ButtonManager.h:88

Here is the call graph for this function:

Here is the caller graph for this function:

## Variable Documentation

tButtonManagerCtrl ButtonManagerCtrl

Structure used by the button controller to control button operation.

Definition at line 73 of file ButtonManager.c.

Referenced by PowerManagerLPMController().