mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-17 04:34:44 -07:00
Update apps
This commit is contained in:
91
applications/external/wiiec/wii_anal.h
vendored
Normal file
91
applications/external/wiiec/wii_anal.h
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
#ifndef WII_ANAL_H_
|
||||
#define WII_ANAL_H_
|
||||
|
||||
#include <furi.h> // Core API
|
||||
#include <input/input.h> // GUI Input extensions
|
||||
#include <notification/notification_messages.h>
|
||||
|
||||
//----------------------------------------------------------------------------- ----------------------------------------
|
||||
// GUI scenes
|
||||
//
|
||||
typedef enum scene {
|
||||
SCENE_NONE = 0,
|
||||
SCENE_SPLASH = 1,
|
||||
SCENE_RIP = 2,
|
||||
SCENE_WAIT = 3,
|
||||
SCENE_DEBUG = 4,
|
||||
SCENE_DUMP = 5,
|
||||
SCENE_CLASSIC = 6,
|
||||
SCENE_CLASSIC_N = 7,
|
||||
SCENE_NUNCHUCK = 8,
|
||||
SCENE_NUNCHUCK_ACC = 9,
|
||||
} scene_t;
|
||||
|
||||
//----------------------------------------------------------------------------- ----------------------------------------
|
||||
#include "wii_i2c.h"
|
||||
#include "wii_ec.h"
|
||||
|
||||
//----------------------------------------------------------------------------- ----------------------------------------
|
||||
// A list of event IDs handled by this plugin
|
||||
//
|
||||
typedef enum eventID {
|
||||
EVID_NONE,
|
||||
EVID_UNKNOWN,
|
||||
|
||||
// A full list of events can be found with: `grep -r --color "void.*set_.*_callback" applications/gui/*`
|
||||
// ...A free gift to you from the makers of well written code that conforms to a good coding standard
|
||||
EVID_KEY, // keypad
|
||||
EVID_TICK, // tick
|
||||
EVID_WIIEC, // wii extension controller
|
||||
} eventID_t;
|
||||
|
||||
//----------------------------------------------------------------------------- ----------------------------------------
|
||||
// An item in the event message-queue
|
||||
//
|
||||
typedef struct eventMsg {
|
||||
eventID_t id;
|
||||
union {
|
||||
InputEvent input; // --> applications/input/input.h
|
||||
wiiEcEvent_t wiiEc; // --> local
|
||||
};
|
||||
} eventMsg_t;
|
||||
|
||||
//----------------------------------------------------------------------------- ----------------------------------------
|
||||
// State variables for this plugin
|
||||
// An instance of this is allocated on the heap, and the pointer is passed back to the OS
|
||||
// Access to this memory is controlled by mutex
|
||||
//
|
||||
typedef struct state {
|
||||
FuriMutex* mutex; // mutex for using this struct
|
||||
|
||||
bool run; // true : plugin is running
|
||||
|
||||
bool timerEn; // controller scanning enabled
|
||||
FuriTimer* timer; // the timer
|
||||
uint32_t timerHz; // system ticks per second
|
||||
int fps; // poll/refresh [frames]-per-second
|
||||
|
||||
int cnvW; // canvas width
|
||||
int cnvH; // canvas height
|
||||
scene_t scene; // current scene
|
||||
scene_t scenePrev; // previous scene
|
||||
scene_t scenePegg; // previous scene for easter eggs
|
||||
int flash; // flash counter (flashing icons)
|
||||
|
||||
int hold; // hold type: {-1=tough-peak, 0=none, +1=peak-hold}
|
||||
ecCalib_t calib; // Software calibration mode
|
||||
|
||||
bool pause; // Accelerometer animation pause
|
||||
bool apause; // Accelerometer animation auto-pause
|
||||
|
||||
NotificationApp* notify; // OS nitifcation queue (for patting the backlight watchdog timer)
|
||||
|
||||
wiiEC_t ec; // Extension Controller details
|
||||
} state_t;
|
||||
|
||||
//============================================================================= ========================================
|
||||
// Function prototypes
|
||||
//
|
||||
void timerEn(state_t* state, bool on);
|
||||
|
||||
#endif //WII_ANAL_H_
|
||||
Reference in New Issue
Block a user