| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef TRADE_HPP
- #define TRADE_HPP
- #pragma once
- #include <furi.h>
- #include <furi_hal.h>
- #include <furi_hal_light.h>
- #include <gui/view.h>
- #include <gui/view_dispatcher.h>
- #define GAME_BOY_CLK gpio_ext_pb2
- #define GAME_BOY_SI gpio_ext_pc3
- #define GAME_BOY_SO gpio_ext_pb3
- #define DELAY_MICROSECONDS 15
- #define PKMN_BLANK 0x00
- #define ITEM_1_HIGHLIGHTED 0xD0
- #define ITEM_2_HIGHLIGHTED 0xD1
- #define ITEM_3_HIGHLIGHTED 0xD2
- #define ITEM_1_SELECTED 0xD4
- #define ITEM_2_SELECTED 0xD5
- #define ITEM_3_SELECTED 0xD6
- #define PKMN_MASTER 0x01
- #define PKMN_SLAVE 0x02
- #define PKMN_CONNECTED 0x60
- #define PKMN_WAIT 0x7F
- #define PKMN_ACTION 0x60
- #define PKMN_TRADE_CENTRE ITEM_1_SELECTED
- #define PKMN_COLOSSEUM ITEM_2_SELECTED
- #define PKMN_BREAK_LINK ITEM_3_SELECTED
- #define TRADE_CENTRE_WAIT 0xFD
- typedef unsigned char byte;
- typedef enum { NOT_CONNECTED, CONNECTED, TRADE_CENTRE, COLOSSEUM } connection_state_t;
- typedef enum {
- INIT,
- READY_TO_GO,
- SEEN_FIRST_WAIT,
- SENDING_RANDOM_DATA,
- WAITING_TO_SEND_DATA,
- START_SENDING_DATA,
- SENDING_DATA,
- DATA_SENT,
- SENDING_PATCH_DATA,
- TRADE_PENDING,
- TRADE_CONFIRMATION,
- DONE
- } trade_centre_state_t;
- typedef struct App App;
- typedef struct {
- View* view;
- App* app;
- } Trade;
- Trade* trade_alloc(App* app);
- void trade_free(App* app);
- View* trade_get_view(App* app);
- extern unsigned char INPUT_BLOCK[405];
- extern unsigned char DATA_BLOCK[405];
- #endif /* TRADE_HPP */
|