Loading...
Searching...
No Matches
felica_poller_i.h
1#pragma once
2
3#include "felica_poller.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define FELICA_POLLER_MAX_BUFFER_SIZE (256U)
11
12#define FELICA_POLLER_POLLING_FWT (200000U)
13
14#define FELICA_POLLER_CMD_POLLING_REQ_CODE (0x00U)
15#define FELICA_POLLER_CMD_POLLING_RESP_CODE (0x01U)
16
17typedef enum {
18 FelicaPollerStateIdle,
19 FelicaPollerStateActivated,
20 FelicaPollerStateListSystem,
21 FelicaPollerStateSelectSystemIndex,
22 FelicaPollerStateAuthenticateInternal,
23 FelicaPollerStateAuthenticateExternal,
24 FelicaPollerStateTraverseStandardSystem,
25 FelicaPollerStateReadStandardBlocks,
26 FelicaPollerStateReadLiteBlocks,
27 FelicaPollerStateReadSuccess,
28 FelicaPollerStateReadFailed,
29
30 FelicaPollerStateNum
31} FelicaPollerState;
32
34 Nfc* nfc;
35 FelicaPollerState state;
37
38 FelicaData* data;
39 BitBuffer* tx_buffer;
40 BitBuffer* rx_buffer;
41
42 NfcGenericEvent general_event;
43 FelicaPollerEvent felica_event;
44 FelicaPollerEventData felica_event_data;
45 NfcGenericCallback callback;
46 uint8_t block_index;
47 uint8_t systems_read;
48 uint8_t systems_total;
49 void* context;
50};
51
52typedef struct {
53 uint16_t system_code;
54 uint8_t request_code;
55 uint8_t time_slot;
57
58typedef struct {
59 FelicaIDm idm;
60 FelicaPMm pmm;
61 uint8_t request_data[2];
63
64typedef union {
65 FelicaData* data;
67
68const FelicaData* felica_poller_get_data(FelicaPoller* instance);
69
78FelicaError felica_poller_polling(
79 FelicaPoller* instance,
82
93FelicaError felica_poller_write_blocks(
94 const FelicaPoller* instance,
95 const uint8_t block_count,
96 const uint8_t* const block_numbers,
97 const uint8_t* data,
98 FelicaPollerWriteCommandResponse** const response_ptr);
99
112FelicaError felica_poller_frame_exchange(
113 const FelicaPoller* instance,
114 const BitBuffer* tx_buffer,
115 BitBuffer* rx_buffer,
116 uint32_t fwt);
117
118FelicaError felica_poller_list_service_by_cursor(
119 FelicaPoller* instance,
120 uint16_t cursor,
121 FelicaListServiceCommandResponse** response_ptr);
122
123FelicaError felica_poller_list_system_code(
124 FelicaPoller* instance,
126
127#ifdef __cplusplus
128}
129#endif
Bit Buffer.
NfcCommand(* NfcGenericCallback)(NfcGenericEvent event, void *context)
Generic Nfc event callback type.
Definition nfc_generic_event.h:75
Definition bit_buffer.c:7
Structure used to hold authentication related fields.
Definition felica.h:121
Definition felica.h:216
Structure used to store Felica data and additional values about reading.
Definition felica.h:196
Felica ID block.
Definition felica.h:128
Definition felica.h:255
Felica PMm block.
Definition felica.h:133
FelicaPoller poller event structure.
Definition felica_poller.h:40
Definition felica_poller_i.h:33
Definition felica_poller_i.h:52
Definition felica_poller_i.h:58
Generic Nfc event type.
Definition nfc_generic_event.h:58
Definition nfc.c:44
Definition felica_poller_i.h:64
Felica poller event data.
Definition felica_poller.h:30