rp2040js 0.19.1 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/peripherals/i2c.d.ts +6 -0
- package/dist/cjs/peripherals/i2c.js +30 -0
- package/dist/cjs/peripherals/rtc.d.ts +2 -2
- package/dist/cjs/peripherals/rtc.js +48 -6
- package/dist/esm/peripherals/i2c.d.ts +6 -0
- package/dist/esm/peripherals/i2c.js +30 -0
- package/dist/esm/peripherals/rtc.d.ts +2 -2
- package/dist/esm/peripherals/rtc.js +48 -6
- package/package.json +1 -1
|
@@ -28,6 +28,10 @@ export declare class RPI2C extends BasePeripheral implements Peripheral {
|
|
|
28
28
|
rxThreshold: number;
|
|
29
29
|
txThreshold: number;
|
|
30
30
|
control: number;
|
|
31
|
+
ssClockHighPeriod: number;
|
|
32
|
+
ssClockLowPeriod: number;
|
|
33
|
+
fsClockHighPeriod: number;
|
|
34
|
+
fsClockLowPeriod: number;
|
|
31
35
|
targetAddress: number;
|
|
32
36
|
slaveAddress: number;
|
|
33
37
|
abortSource: number;
|
|
@@ -35,6 +39,8 @@ export declare class RPI2C extends BasePeripheral implements Peripheral {
|
|
|
35
39
|
intEnable: number;
|
|
36
40
|
get intStatus(): number;
|
|
37
41
|
get speed(): I2CSpeed;
|
|
42
|
+
get sclLowPeriod(): number;
|
|
43
|
+
get sclHighPeriod(): number;
|
|
38
44
|
get masterBits(): 7 | 10;
|
|
39
45
|
constructor(rp2040: RP2040, name: string, irq: number);
|
|
40
46
|
checkInterrupts(): void;
|
|
@@ -142,6 +142,12 @@ class RPI2C extends peripheral_js_1.BasePeripheral {
|
|
|
142
142
|
get speed() {
|
|
143
143
|
return ((this.control >> SPEED_SHIFT) & SPEED_MASK);
|
|
144
144
|
}
|
|
145
|
+
get sclLowPeriod() {
|
|
146
|
+
return this.speed === I2CSpeed.Standard ? this.ssClockLowPeriod : this.fsClockLowPeriod;
|
|
147
|
+
}
|
|
148
|
+
get sclHighPeriod() {
|
|
149
|
+
return this.speed === I2CSpeed.Standard ? this.ssClockHighPeriod : this.fsClockHighPeriod;
|
|
150
|
+
}
|
|
145
151
|
get masterBits() {
|
|
146
152
|
return this.control & IC_10BITADDR_MASTER ? 10 : 7;
|
|
147
153
|
}
|
|
@@ -165,6 +171,10 @@ class RPI2C extends peripheral_js_1.BasePeripheral {
|
|
|
165
171
|
this.rxThreshold = 0;
|
|
166
172
|
this.txThreshold = 0;
|
|
167
173
|
this.control = IC_SLAVE_DISABLE | IC_RESTART_EN | (I2CSpeed.FastMode << SPEED_SHIFT) | MASTER_MODE;
|
|
174
|
+
this.ssClockHighPeriod = 0x0028;
|
|
175
|
+
this.ssClockLowPeriod = 0x002f;
|
|
176
|
+
this.fsClockHighPeriod = 0x0006;
|
|
177
|
+
this.fsClockLowPeriod = 0x000d;
|
|
168
178
|
this.targetAddress = 0x55;
|
|
169
179
|
this.slaveAddress = 0x55;
|
|
170
180
|
this.abortSource = 0;
|
|
@@ -323,6 +333,14 @@ class RPI2C extends peripheral_js_1.BasePeripheral {
|
|
|
323
333
|
}
|
|
324
334
|
this.clearInterrupts(R_RX_FULL);
|
|
325
335
|
return this.rxFIFO.pull();
|
|
336
|
+
case IC_SS_SCL_HCNT:
|
|
337
|
+
return this.ssClockHighPeriod;
|
|
338
|
+
case IC_SS_SCL_LCNT:
|
|
339
|
+
return this.ssClockLowPeriod;
|
|
340
|
+
case IC_FS_SCL_HCNT:
|
|
341
|
+
return this.fsClockHighPeriod;
|
|
342
|
+
case IC_FS_SCL_LCNT:
|
|
343
|
+
return this.fsClockLowPeriod;
|
|
326
344
|
case IC_INTR_STAT:
|
|
327
345
|
return this.intStatus;
|
|
328
346
|
case IC_INTR_MASK:
|
|
@@ -419,6 +437,18 @@ class RPI2C extends peripheral_js_1.BasePeripheral {
|
|
|
419
437
|
this.nextCommand();
|
|
420
438
|
}
|
|
421
439
|
return;
|
|
440
|
+
case IC_SS_SCL_HCNT:
|
|
441
|
+
this.ssClockHighPeriod = value & 0xffff;
|
|
442
|
+
return;
|
|
443
|
+
case IC_SS_SCL_LCNT:
|
|
444
|
+
this.ssClockLowPeriod = value & 0xffff;
|
|
445
|
+
return;
|
|
446
|
+
case IC_FS_SCL_HCNT:
|
|
447
|
+
this.fsClockHighPeriod = value & 0xffff;
|
|
448
|
+
return;
|
|
449
|
+
case IC_FS_SCL_LCNT:
|
|
450
|
+
this.fsClockLowPeriod = value & 0xffff;
|
|
451
|
+
return;
|
|
422
452
|
case IC_RX_TL:
|
|
423
453
|
this.rxThreshold = value & 0xff;
|
|
424
454
|
if (this.rxThreshold > this.rxFIFO.size) {
|
|
@@ -2,9 +2,9 @@ import { BasePeripheral, Peripheral } from './peripheral.js';
|
|
|
2
2
|
export declare class RP2040RTC extends BasePeripheral implements Peripheral {
|
|
3
3
|
setup0: number;
|
|
4
4
|
setup1: number;
|
|
5
|
-
rtc1: number;
|
|
6
|
-
rtc0: number;
|
|
7
5
|
ctrl: number;
|
|
6
|
+
baseline: Date;
|
|
7
|
+
baselineMicros: number;
|
|
8
8
|
readUint32(offset: number): number;
|
|
9
9
|
writeUint32(offset: number, value: number): void;
|
|
10
10
|
}
|
|
@@ -11,16 +11,45 @@ const RTC_RTC0 = 0x1c;
|
|
|
11
11
|
const RTC_ENABLE_BITS = 0x01;
|
|
12
12
|
const RTC_ACTIVE_BITS = 0x2;
|
|
13
13
|
const RTC_LOAD_BITS = 0x10;
|
|
14
|
+
const SETUP_0_YEAR_SHIFT = 12;
|
|
15
|
+
const SETUP_0_YEAR_MASK = 0xfff;
|
|
16
|
+
const SETUP_0_MONTH_SHIFT = 8;
|
|
17
|
+
const SETUP_0_MONTH_MASK = 0xf;
|
|
18
|
+
const SETUP_0_DAY_SHIFT = 0;
|
|
19
|
+
const SETUP_0_DAY_MASK = 0x1f;
|
|
20
|
+
const SETUP_1_DOTW_SHIFT = 24;
|
|
21
|
+
const SETUP_1_DOTW_MASK = 0x7;
|
|
22
|
+
const SETUP_1_HOUR_SHIFT = 16;
|
|
23
|
+
const SETUP_1_HOUR_MASK = 0x1f;
|
|
24
|
+
const SETUP_1_MIN_SHIFT = 8;
|
|
25
|
+
const SETUP_1_MIN_MASK = 0x3f;
|
|
26
|
+
const SETUP_1_SEC_SHIFT = 0;
|
|
27
|
+
const SETUP_1_SEC_MASK = 0x3f;
|
|
28
|
+
const RTC_0_YEAR_SHIFT = 12;
|
|
29
|
+
const RTC_0_YEAR_MASK = 0xfff;
|
|
30
|
+
const RTC_0_MONTH_SHIFT = 8;
|
|
31
|
+
const RTC_0_MONTH_MASK = 0xf;
|
|
32
|
+
const RTC_0_DAY_SHIFT = 0;
|
|
33
|
+
const RTC_0_DAY_MASK = 0x1f;
|
|
34
|
+
const RTC_1_DOTW_SHIFT = 24;
|
|
35
|
+
const RTC_1_DOTW_MASK = 0x7;
|
|
36
|
+
const RTC_1_HOUR_SHIFT = 16;
|
|
37
|
+
const RTC_1_HOUR_MASK = 0x1f;
|
|
38
|
+
const RTC_1_MIN_SHIFT = 8;
|
|
39
|
+
const RTC_1_MIN_MASK = 0x3f;
|
|
40
|
+
const RTC_1_SEC_SHIFT = 0;
|
|
41
|
+
const RTC_1_SEC_MASK = 0x3f;
|
|
14
42
|
class RP2040RTC extends peripheral_js_1.BasePeripheral {
|
|
15
43
|
constructor() {
|
|
16
44
|
super(...arguments);
|
|
17
45
|
this.setup0 = 0;
|
|
18
46
|
this.setup1 = 0;
|
|
19
|
-
this.rtc1 = 0;
|
|
20
|
-
this.rtc0 = 0;
|
|
21
47
|
this.ctrl = 0;
|
|
48
|
+
this.baseline = new Date(2021, 0, 1);
|
|
49
|
+
this.baselineMicros = 0;
|
|
22
50
|
}
|
|
23
51
|
readUint32(offset) {
|
|
52
|
+
const date = new Date(this.baseline.getTime() + (this.rp2040.clock.micros - this.baselineMicros) / 1000);
|
|
24
53
|
switch (offset) {
|
|
25
54
|
case RTC_SETUP0:
|
|
26
55
|
return this.setup0;
|
|
@@ -31,9 +60,16 @@ class RP2040RTC extends peripheral_js_1.BasePeripheral {
|
|
|
31
60
|
case IRQ_SETUP_0:
|
|
32
61
|
return 0;
|
|
33
62
|
case RTC_RTC1:
|
|
34
|
-
return
|
|
63
|
+
return (((date.getFullYear() & RTC_0_YEAR_MASK) << RTC_0_YEAR_SHIFT) |
|
|
64
|
+
(((date.getMonth() + 1) & RTC_0_MONTH_MASK) << RTC_0_MONTH_SHIFT) |
|
|
65
|
+
((date.getDate() & RTC_0_DAY_MASK) << RTC_0_DAY_SHIFT));
|
|
35
66
|
case RTC_RTC0:
|
|
36
|
-
return
|
|
67
|
+
return (((date.getDay() & RTC_1_DOTW_MASK) << RTC_1_DOTW_SHIFT) |
|
|
68
|
+
((date.getHours() & RTC_1_HOUR_MASK) << RTC_1_HOUR_SHIFT) |
|
|
69
|
+
((date.getMinutes() & RTC_1_MIN_MASK) << RTC_1_MIN_SHIFT) |
|
|
70
|
+
((date.getSeconds() & RTC_1_SEC_MASK) << RTC_1_SEC_SHIFT));
|
|
71
|
+
default:
|
|
72
|
+
break;
|
|
37
73
|
}
|
|
38
74
|
return super.readUint32(offset);
|
|
39
75
|
}
|
|
@@ -56,8 +92,14 @@ class RP2040RTC extends peripheral_js_1.BasePeripheral {
|
|
|
56
92
|
this.ctrl |= RTC_ENABLE_BITS;
|
|
57
93
|
this.ctrl |= RTC_ACTIVE_BITS;
|
|
58
94
|
if (this.ctrl & RTC_LOAD_BITS) {
|
|
59
|
-
|
|
60
|
-
|
|
95
|
+
const year = (this.setup0 >> SETUP_0_YEAR_SHIFT) & SETUP_0_YEAR_MASK;
|
|
96
|
+
const month = (this.setup0 >> SETUP_0_MONTH_SHIFT) & SETUP_0_MONTH_MASK;
|
|
97
|
+
const day = (this.setup0 >> SETUP_0_DAY_SHIFT) & SETUP_0_DAY_MASK;
|
|
98
|
+
const hour = (this.setup1 >> SETUP_1_HOUR_SHIFT) & SETUP_1_HOUR_MASK;
|
|
99
|
+
const min = (this.setup1 >> SETUP_1_MIN_SHIFT) & SETUP_1_MIN_MASK;
|
|
100
|
+
const sec = (this.setup1 >> SETUP_1_SEC_SHIFT) & SETUP_1_SEC_MASK;
|
|
101
|
+
this.baseline = new Date(year, month - 1, day, hour, min, sec);
|
|
102
|
+
this.baselineMicros = this.rp2040.clock.micros;
|
|
61
103
|
this.ctrl &= ~RTC_LOAD_BITS;
|
|
62
104
|
}
|
|
63
105
|
}
|
|
@@ -28,6 +28,10 @@ export declare class RPI2C extends BasePeripheral implements Peripheral {
|
|
|
28
28
|
rxThreshold: number;
|
|
29
29
|
txThreshold: number;
|
|
30
30
|
control: number;
|
|
31
|
+
ssClockHighPeriod: number;
|
|
32
|
+
ssClockLowPeriod: number;
|
|
33
|
+
fsClockHighPeriod: number;
|
|
34
|
+
fsClockLowPeriod: number;
|
|
31
35
|
targetAddress: number;
|
|
32
36
|
slaveAddress: number;
|
|
33
37
|
abortSource: number;
|
|
@@ -35,6 +39,8 @@ export declare class RPI2C extends BasePeripheral implements Peripheral {
|
|
|
35
39
|
intEnable: number;
|
|
36
40
|
get intStatus(): number;
|
|
37
41
|
get speed(): I2CSpeed;
|
|
42
|
+
get sclLowPeriod(): number;
|
|
43
|
+
get sclHighPeriod(): number;
|
|
38
44
|
get masterBits(): 7 | 10;
|
|
39
45
|
constructor(rp2040: RP2040, name: string, irq: number);
|
|
40
46
|
checkInterrupts(): void;
|
|
@@ -139,6 +139,12 @@ export class RPI2C extends BasePeripheral {
|
|
|
139
139
|
get speed() {
|
|
140
140
|
return ((this.control >> SPEED_SHIFT) & SPEED_MASK);
|
|
141
141
|
}
|
|
142
|
+
get sclLowPeriod() {
|
|
143
|
+
return this.speed === I2CSpeed.Standard ? this.ssClockLowPeriod : this.fsClockLowPeriod;
|
|
144
|
+
}
|
|
145
|
+
get sclHighPeriod() {
|
|
146
|
+
return this.speed === I2CSpeed.Standard ? this.ssClockHighPeriod : this.fsClockHighPeriod;
|
|
147
|
+
}
|
|
142
148
|
get masterBits() {
|
|
143
149
|
return this.control & IC_10BITADDR_MASTER ? 10 : 7;
|
|
144
150
|
}
|
|
@@ -162,6 +168,10 @@ export class RPI2C extends BasePeripheral {
|
|
|
162
168
|
this.rxThreshold = 0;
|
|
163
169
|
this.txThreshold = 0;
|
|
164
170
|
this.control = IC_SLAVE_DISABLE | IC_RESTART_EN | (I2CSpeed.FastMode << SPEED_SHIFT) | MASTER_MODE;
|
|
171
|
+
this.ssClockHighPeriod = 0x0028;
|
|
172
|
+
this.ssClockLowPeriod = 0x002f;
|
|
173
|
+
this.fsClockHighPeriod = 0x0006;
|
|
174
|
+
this.fsClockLowPeriod = 0x000d;
|
|
165
175
|
this.targetAddress = 0x55;
|
|
166
176
|
this.slaveAddress = 0x55;
|
|
167
177
|
this.abortSource = 0;
|
|
@@ -320,6 +330,14 @@ export class RPI2C extends BasePeripheral {
|
|
|
320
330
|
}
|
|
321
331
|
this.clearInterrupts(R_RX_FULL);
|
|
322
332
|
return this.rxFIFO.pull();
|
|
333
|
+
case IC_SS_SCL_HCNT:
|
|
334
|
+
return this.ssClockHighPeriod;
|
|
335
|
+
case IC_SS_SCL_LCNT:
|
|
336
|
+
return this.ssClockLowPeriod;
|
|
337
|
+
case IC_FS_SCL_HCNT:
|
|
338
|
+
return this.fsClockHighPeriod;
|
|
339
|
+
case IC_FS_SCL_LCNT:
|
|
340
|
+
return this.fsClockLowPeriod;
|
|
323
341
|
case IC_INTR_STAT:
|
|
324
342
|
return this.intStatus;
|
|
325
343
|
case IC_INTR_MASK:
|
|
@@ -416,6 +434,18 @@ export class RPI2C extends BasePeripheral {
|
|
|
416
434
|
this.nextCommand();
|
|
417
435
|
}
|
|
418
436
|
return;
|
|
437
|
+
case IC_SS_SCL_HCNT:
|
|
438
|
+
this.ssClockHighPeriod = value & 0xffff;
|
|
439
|
+
return;
|
|
440
|
+
case IC_SS_SCL_LCNT:
|
|
441
|
+
this.ssClockLowPeriod = value & 0xffff;
|
|
442
|
+
return;
|
|
443
|
+
case IC_FS_SCL_HCNT:
|
|
444
|
+
this.fsClockHighPeriod = value & 0xffff;
|
|
445
|
+
return;
|
|
446
|
+
case IC_FS_SCL_LCNT:
|
|
447
|
+
this.fsClockLowPeriod = value & 0xffff;
|
|
448
|
+
return;
|
|
419
449
|
case IC_RX_TL:
|
|
420
450
|
this.rxThreshold = value & 0xff;
|
|
421
451
|
if (this.rxThreshold > this.rxFIFO.size) {
|
|
@@ -2,9 +2,9 @@ import { BasePeripheral, Peripheral } from './peripheral.js';
|
|
|
2
2
|
export declare class RP2040RTC extends BasePeripheral implements Peripheral {
|
|
3
3
|
setup0: number;
|
|
4
4
|
setup1: number;
|
|
5
|
-
rtc1: number;
|
|
6
|
-
rtc0: number;
|
|
7
5
|
ctrl: number;
|
|
6
|
+
baseline: Date;
|
|
7
|
+
baselineMicros: number;
|
|
8
8
|
readUint32(offset: number): number;
|
|
9
9
|
writeUint32(offset: number, value: number): void;
|
|
10
10
|
}
|
|
@@ -8,16 +8,45 @@ const RTC_RTC0 = 0x1c;
|
|
|
8
8
|
const RTC_ENABLE_BITS = 0x01;
|
|
9
9
|
const RTC_ACTIVE_BITS = 0x2;
|
|
10
10
|
const RTC_LOAD_BITS = 0x10;
|
|
11
|
+
const SETUP_0_YEAR_SHIFT = 12;
|
|
12
|
+
const SETUP_0_YEAR_MASK = 0xfff;
|
|
13
|
+
const SETUP_0_MONTH_SHIFT = 8;
|
|
14
|
+
const SETUP_0_MONTH_MASK = 0xf;
|
|
15
|
+
const SETUP_0_DAY_SHIFT = 0;
|
|
16
|
+
const SETUP_0_DAY_MASK = 0x1f;
|
|
17
|
+
const SETUP_1_DOTW_SHIFT = 24;
|
|
18
|
+
const SETUP_1_DOTW_MASK = 0x7;
|
|
19
|
+
const SETUP_1_HOUR_SHIFT = 16;
|
|
20
|
+
const SETUP_1_HOUR_MASK = 0x1f;
|
|
21
|
+
const SETUP_1_MIN_SHIFT = 8;
|
|
22
|
+
const SETUP_1_MIN_MASK = 0x3f;
|
|
23
|
+
const SETUP_1_SEC_SHIFT = 0;
|
|
24
|
+
const SETUP_1_SEC_MASK = 0x3f;
|
|
25
|
+
const RTC_0_YEAR_SHIFT = 12;
|
|
26
|
+
const RTC_0_YEAR_MASK = 0xfff;
|
|
27
|
+
const RTC_0_MONTH_SHIFT = 8;
|
|
28
|
+
const RTC_0_MONTH_MASK = 0xf;
|
|
29
|
+
const RTC_0_DAY_SHIFT = 0;
|
|
30
|
+
const RTC_0_DAY_MASK = 0x1f;
|
|
31
|
+
const RTC_1_DOTW_SHIFT = 24;
|
|
32
|
+
const RTC_1_DOTW_MASK = 0x7;
|
|
33
|
+
const RTC_1_HOUR_SHIFT = 16;
|
|
34
|
+
const RTC_1_HOUR_MASK = 0x1f;
|
|
35
|
+
const RTC_1_MIN_SHIFT = 8;
|
|
36
|
+
const RTC_1_MIN_MASK = 0x3f;
|
|
37
|
+
const RTC_1_SEC_SHIFT = 0;
|
|
38
|
+
const RTC_1_SEC_MASK = 0x3f;
|
|
11
39
|
export class RP2040RTC extends BasePeripheral {
|
|
12
40
|
constructor() {
|
|
13
41
|
super(...arguments);
|
|
14
42
|
this.setup0 = 0;
|
|
15
43
|
this.setup1 = 0;
|
|
16
|
-
this.rtc1 = 0;
|
|
17
|
-
this.rtc0 = 0;
|
|
18
44
|
this.ctrl = 0;
|
|
45
|
+
this.baseline = new Date(2021, 0, 1);
|
|
46
|
+
this.baselineMicros = 0;
|
|
19
47
|
}
|
|
20
48
|
readUint32(offset) {
|
|
49
|
+
const date = new Date(this.baseline.getTime() + (this.rp2040.clock.micros - this.baselineMicros) / 1000);
|
|
21
50
|
switch (offset) {
|
|
22
51
|
case RTC_SETUP0:
|
|
23
52
|
return this.setup0;
|
|
@@ -28,9 +57,16 @@ export class RP2040RTC extends BasePeripheral {
|
|
|
28
57
|
case IRQ_SETUP_0:
|
|
29
58
|
return 0;
|
|
30
59
|
case RTC_RTC1:
|
|
31
|
-
return
|
|
60
|
+
return (((date.getFullYear() & RTC_0_YEAR_MASK) << RTC_0_YEAR_SHIFT) |
|
|
61
|
+
(((date.getMonth() + 1) & RTC_0_MONTH_MASK) << RTC_0_MONTH_SHIFT) |
|
|
62
|
+
((date.getDate() & RTC_0_DAY_MASK) << RTC_0_DAY_SHIFT));
|
|
32
63
|
case RTC_RTC0:
|
|
33
|
-
return
|
|
64
|
+
return (((date.getDay() & RTC_1_DOTW_MASK) << RTC_1_DOTW_SHIFT) |
|
|
65
|
+
((date.getHours() & RTC_1_HOUR_MASK) << RTC_1_HOUR_SHIFT) |
|
|
66
|
+
((date.getMinutes() & RTC_1_MIN_MASK) << RTC_1_MIN_SHIFT) |
|
|
67
|
+
((date.getSeconds() & RTC_1_SEC_MASK) << RTC_1_SEC_SHIFT));
|
|
68
|
+
default:
|
|
69
|
+
break;
|
|
34
70
|
}
|
|
35
71
|
return super.readUint32(offset);
|
|
36
72
|
}
|
|
@@ -53,8 +89,14 @@ export class RP2040RTC extends BasePeripheral {
|
|
|
53
89
|
this.ctrl |= RTC_ENABLE_BITS;
|
|
54
90
|
this.ctrl |= RTC_ACTIVE_BITS;
|
|
55
91
|
if (this.ctrl & RTC_LOAD_BITS) {
|
|
56
|
-
|
|
57
|
-
|
|
92
|
+
const year = (this.setup0 >> SETUP_0_YEAR_SHIFT) & SETUP_0_YEAR_MASK;
|
|
93
|
+
const month = (this.setup0 >> SETUP_0_MONTH_SHIFT) & SETUP_0_MONTH_MASK;
|
|
94
|
+
const day = (this.setup0 >> SETUP_0_DAY_SHIFT) & SETUP_0_DAY_MASK;
|
|
95
|
+
const hour = (this.setup1 >> SETUP_1_HOUR_SHIFT) & SETUP_1_HOUR_MASK;
|
|
96
|
+
const min = (this.setup1 >> SETUP_1_MIN_SHIFT) & SETUP_1_MIN_MASK;
|
|
97
|
+
const sec = (this.setup1 >> SETUP_1_SEC_SHIFT) & SETUP_1_SEC_MASK;
|
|
98
|
+
this.baseline = new Date(year, month - 1, day, hour, min, sec);
|
|
99
|
+
this.baselineMicros = this.rp2040.clock.micros;
|
|
58
100
|
this.ctrl &= ~RTC_LOAD_BITS;
|
|
59
101
|
}
|
|
60
102
|
}
|