Sming Framework API
()
Toggle main menu visibility
Sming
Libraries
SdStorage
src
include
Storage
SD
CID.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
Print.h
>
4
5
namespace
Storage::SD
6
{
7
struct
__attribute__((packed))
CID
{
8
uint8_t
mid
;
9
char
oid[2];
10
char
pnm[5];
11
uint8_t
prv
;
12
uint32_t
psn
;
13
uint16_t
mdt
;
14
uint8_t
not_used
: 1;
15
uint8_t
crc
: 7;
16
17
void
bswap
()
18
{
19
psn = __builtin_bswap32(psn);
20
mdt = __builtin_bswap16(mdt);
21
}
22
23
uint16_t
mdt_year
()
const
24
{
25
return
2000 + ((mdt >> 4) & 0xff);
26
}
27
28
uint8_t
mdt_month
()
const
29
{
30
return
mdt & 0x0f;
31
}
32
33
uint8_t
major
()
const
34
{
35
return
prv >> 4;
36
}
37
38
uint8_t
minor
()
const
39
{
40
return
prv & 0x0f;
41
}
42
43
size_t
printTo(
Print
& p)
const
;
44
};
45
static_assert(
sizeof
(CID) == 16,
"Bad CID struct"
);
46
47
}
// namespace Storage::SD
Storage::SD::CID::crc
uint8_t crc
7-bit checksum
Definition:
CID.h:15
Storage::SD::CID::prv
uint8_t prv
Product revision.
Definition:
CID.h:11
uint8_t
Storage::SD::CID::mdt
uint16_t mdt
Manufacturing date.
Definition:
CID.h:13
Storage::SD::CID::not_used
uint8_t not_used
Always 1.
Definition:
CID.h:14
Storage::SD::CID::bswap
void bswap()
Definition:
CID.h:17
Storage::SD::CID
Definition:
CID.h:7
Storage::SD::CID::minor
uint8_t minor() const
Definition:
CID.h:38
Storage::SD::CID::mid
uint8_t mid
Manufacturer ID.
Definition:
CID.h:8
Print.h
Storage::SD
Definition:
Card.h:15
Print
Provides formatted output to stream.
Definition:
Print.h:36
Storage::SD::CID::mdt_year
uint16_t mdt_year() const
Definition:
CID.h:23
Storage::SD::CID::psn
uint32_t psn
Product serial number.
Definition:
CID.h:12
Storage::SD::CID::major
uint8_t major() const
Definition:
CID.h:33
uint16_t
Storage::SD::CID::mdt_month
uint8_t mdt_month() const
Definition:
CID.h:28
Generated by
1.8.17