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 FelicaPollerStateAuthenticateInternal,
21 FelicaPollerStateAuthenticateExternal,
22 FelicaPollerStateTraverseStandardSystem,
23 FelicaPollerStateReadStandardBlocks,
24 FelicaPollerStateReadLiteBlocks,
25 FelicaPollerStateReadSuccess,
26 FelicaPollerStateReadFailed,
27
28 FelicaPollerStateNum
29} FelicaPollerState;
30
32 Nfc* nfc;
33 FelicaPollerState state;
35
36 FelicaData* data;
37 BitBuffer* tx_buffer;
38 BitBuffer* rx_buffer;
39
40 NfcGenericEvent general_event;
41 FelicaPollerEvent felica_event;
42 FelicaPollerEventData felica_event_data;
43 NfcGenericCallback callback;
44 uint8_t block_index;
45 void* context;
46};
47
48typedef struct {
49 uint16_t system_code;
50 uint8_t request_code;
51 uint8_t time_slot;
53
54typedef struct {
55 FelicaIDm idm;
56 FelicaPMm pmm;
57 uint8_t request_data[2];
59
60typedef union {
61 FelicaData* data;
63
64const FelicaData* felica_poller_get_data(FelicaPoller* instance);
65
74FelicaError felica_poller_polling(
75 FelicaPoller* instance,
78
89FelicaError felica_poller_write_blocks(
90 const FelicaPoller* instance,
91 const uint8_t block_count,
92 const uint8_t* const block_numbers,
93 const uint8_t* data,
94 FelicaPollerWriteCommandResponse** const response_ptr);
95
108FelicaError felica_poller_frame_exchange(
109 const FelicaPoller* instance,
110 const BitBuffer* tx_buffer,
111 BitBuffer* rx_buffer,
112 uint32_t fwt);
113
114FelicaError felica_poller_list_service_by_cursor(
115 FelicaPoller* instance,
116 uint16_t cursor,
117 FelicaListServiceCommandResponse** response_ptr);
118
119#ifdef __cplusplus
120}
121#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:119
Definition felica.h:207
Structure used to store Felica data and additional values about reading.
Definition felica.h:186
Felica ID block.
Definition felica.h:126
Definition felica.h:246
Felica PMm block.
Definition felica.h:131
FelicaPoller poller event structure.
Definition felica_poller.h:40
Definition felica_poller_i.h:31
Definition felica_poller_i.h:48
Definition felica_poller_i.h:54
Generic Nfc event type.
Definition nfc_generic_event.h:58
Definition nfc.c:44
Definition felica_poller_i.h:60
Felica poller event data.
Definition felica_poller.h:30