1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"KBSCAN registers"]
28unsafe impl ::core::marker::Send for super::Kbscan {}
29unsafe impl ::core::marker::Sync for super::Kbscan {}
30impl super::Kbscan {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Keyboard scanner control 2 register"]
38 #[inline(always)]
39 pub const fn kbscn_ctrl2_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::KbscnCtrl2Reg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::KbscnCtrl2Reg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(2usize),
45 )
46 }
47 }
48
49 #[doc = "Keyboard scanner control register"]
50 #[inline(always)]
51 pub const fn kbscn_ctrl_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::KbscnCtrlReg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::KbscnCtrlReg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(0usize),
57 )
58 }
59 }
60
61 #[doc = "Defines the debounce time for key press and release"]
62 #[inline(always)]
63 pub const fn kbscn_debounce_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::KbscnDebounceReg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::KbscnDebounceReg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(6usize),
69 )
70 }
71 }
72
73 #[doc = "Defines the number of rows and columns of the matrix"]
74 #[inline(always)]
75 pub const fn kbscn_matrix_size_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::KbscnMatrixSizeReg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::KbscnMatrixSizeReg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(4usize),
81 )
82 }
83 }
84
85 #[doc = "Returns a key message from the message queue"]
86 #[inline(always)]
87 pub const fn kbscn_message_key_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::KbscnMessageKeyReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::KbscnMessageKeyReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(10usize),
93 )
94 }
95 }
96
97 #[doc = "Defines the keyboard mode for P00"]
98 #[inline(always)]
99 pub const fn kbscn_p00_mode_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::KbscnP00ModeReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::KbscnP00ModeReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(12usize),
105 )
106 }
107 }
108
109 #[doc = "Defines the keyboard mode for P01"]
110 #[inline(always)]
111 pub const fn kbscn_p01_mode_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::KbscnP01ModeReg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::KbscnP01ModeReg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(14usize),
117 )
118 }
119 }
120
121 #[doc = "Defines the keyboard mode for P02"]
122 #[inline(always)]
123 pub const fn kbscn_p02_mode_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::KbscnP02ModeReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::KbscnP02ModeReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(16usize),
129 )
130 }
131 }
132
133 #[doc = "Defines the keyboard mode for P03"]
134 #[inline(always)]
135 pub const fn kbscn_p03_mode_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::KbscnP03ModeReg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::KbscnP03ModeReg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(18usize),
141 )
142 }
143 }
144
145 #[doc = "Defines the keyboard mode for P04"]
146 #[inline(always)]
147 pub const fn kbscn_p04_mode_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::KbscnP04ModeReg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::KbscnP04ModeReg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(20usize),
153 )
154 }
155 }
156
157 #[doc = "Defines the keyboard mode for P05"]
158 #[inline(always)]
159 pub const fn kbscn_p05_mode_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::KbscnP05ModeReg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::KbscnP05ModeReg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(22usize),
165 )
166 }
167 }
168
169 #[doc = "Defines the keyboard mode for P06"]
170 #[inline(always)]
171 pub const fn kbscn_p06_mode_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::KbscnP06ModeReg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::KbscnP06ModeReg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(24usize),
177 )
178 }
179 }
180
181 #[doc = "Defines the keyboard mode for P07"]
182 #[inline(always)]
183 pub const fn kbscn_p07_mode_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::KbscnP07ModeReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::KbscnP07ModeReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(26usize),
189 )
190 }
191 }
192
193 #[doc = "Defines the keyboard mode for P10"]
194 #[inline(always)]
195 pub const fn kbscn_p10_mode_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::KbscnP10ModeReg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::KbscnP10ModeReg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(28usize),
201 )
202 }
203 }
204
205 #[doc = "Defines the keyboard mode for P11"]
206 #[inline(always)]
207 pub const fn kbscn_p11_mode_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::KbscnP11ModeReg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::KbscnP11ModeReg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(30usize),
213 )
214 }
215 }
216
217 #[doc = "Defines the keyboard mode for P12"]
218 #[inline(always)]
219 pub const fn kbscn_p12_mode_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::KbscnP12ModeReg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::KbscnP12ModeReg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(32usize),
225 )
226 }
227 }
228
229 #[doc = "Defines the keyboard mode for P13"]
230 #[inline(always)]
231 pub const fn kbscn_p13_mode_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::KbscnP13ModeReg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::KbscnP13ModeReg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(34usize),
237 )
238 }
239 }
240
241 #[doc = "Defines the keyboard mode for P14"]
242 #[inline(always)]
243 pub const fn kbscn_p14_mode_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::KbscnP14ModeReg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::KbscnP14ModeReg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(36usize),
249 )
250 }
251 }
252
253 #[doc = "Defines the keyboard mode for P15"]
254 #[inline(always)]
255 pub const fn kbscn_p15_mode_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::KbscnP15ModeReg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::KbscnP15ModeReg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(38usize),
261 )
262 }
263 }
264
265 #[doc = "Defines the keyboard mode for P16"]
266 #[inline(always)]
267 pub const fn kbscn_p16_mode_reg(
268 &self,
269 ) -> &'static crate::common::Reg<self::KbscnP16ModeReg_SPEC, crate::common::RW> {
270 unsafe {
271 crate::common::Reg::<self::KbscnP16ModeReg_SPEC, crate::common::RW>::from_ptr(
272 self._svd2pac_as_ptr().add(40usize),
273 )
274 }
275 }
276
277 #[doc = "Defines the keyboard mode for P17"]
278 #[inline(always)]
279 pub const fn kbscn_p17_mode_reg(
280 &self,
281 ) -> &'static crate::common::Reg<self::KbscnP17ModeReg_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::KbscnP17ModeReg_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(42usize),
285 )
286 }
287 }
288
289 #[doc = "Defines the keyboard mode for P20"]
290 #[inline(always)]
291 pub const fn kbscn_p20_mode_reg(
292 &self,
293 ) -> &'static crate::common::Reg<self::KbscnP20ModeReg_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::KbscnP20ModeReg_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(44usize),
297 )
298 }
299 }
300
301 #[doc = "Defines the keyboard mode for P21"]
302 #[inline(always)]
303 pub const fn kbscn_p21_mode_reg(
304 &self,
305 ) -> &'static crate::common::Reg<self::KbscnP21ModeReg_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::KbscnP21ModeReg_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(46usize),
309 )
310 }
311 }
312
313 #[doc = "Defines the keyboard mode for P22"]
314 #[inline(always)]
315 pub const fn kbscn_p22_mode_reg(
316 &self,
317 ) -> &'static crate::common::Reg<self::KbscnP22ModeReg_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::KbscnP22ModeReg_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(48usize),
321 )
322 }
323 }
324
325 #[doc = "Defines the keyboard mode for P23"]
326 #[inline(always)]
327 pub const fn kbscn_p23_mode_reg(
328 &self,
329 ) -> &'static crate::common::Reg<self::KbscnP23ModeReg_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::KbscnP23ModeReg_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(50usize),
333 )
334 }
335 }
336
337 #[doc = "Defines the keyboard mode for P24"]
338 #[inline(always)]
339 pub const fn kbscn_p24_mode_reg(
340 &self,
341 ) -> &'static crate::common::Reg<self::KbscnP24ModeReg_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::KbscnP24ModeReg_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(52usize),
345 )
346 }
347 }
348
349 #[doc = "Defines the keyboard mode for P30"]
350 #[inline(always)]
351 pub const fn kbscn_p30_mode_reg(
352 &self,
353 ) -> &'static crate::common::Reg<self::KbscnP30ModeReg_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::KbscnP30ModeReg_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(60usize),
357 )
358 }
359 }
360
361 #[doc = "Defines the keyboard mode for P31"]
362 #[inline(always)]
363 pub const fn kbscn_p31_mode_reg(
364 &self,
365 ) -> &'static crate::common::Reg<self::KbscnP31ModeReg_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::KbscnP31ModeReg_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(62usize),
369 )
370 }
371 }
372
373 #[doc = "Defines the keyboard mode for P32"]
374 #[inline(always)]
375 pub const fn kbscn_p32_mode_reg(
376 &self,
377 ) -> &'static crate::common::Reg<self::KbscnP32ModeReg_SPEC, crate::common::RW> {
378 unsafe {
379 crate::common::Reg::<self::KbscnP32ModeReg_SPEC, crate::common::RW>::from_ptr(
380 self._svd2pac_as_ptr().add(64usize),
381 )
382 }
383 }
384
385 #[doc = "Defines the keyboard mode for P33"]
386 #[inline(always)]
387 pub const fn kbscn_p33_mode_reg(
388 &self,
389 ) -> &'static crate::common::Reg<self::KbscnP33ModeReg_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::KbscnP33ModeReg_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(66usize),
393 )
394 }
395 }
396
397 #[doc = "Defines the keyboard mode for P34"]
398 #[inline(always)]
399 pub const fn kbscn_p34_mode_reg(
400 &self,
401 ) -> &'static crate::common::Reg<self::KbscnP34ModeReg_SPEC, crate::common::RW> {
402 unsafe {
403 crate::common::Reg::<self::KbscnP34ModeReg_SPEC, crate::common::RW>::from_ptr(
404 self._svd2pac_as_ptr().add(68usize),
405 )
406 }
407 }
408
409 #[doc = "Defines the keyboard mode for P35"]
410 #[inline(always)]
411 pub const fn kbscn_p35_mode_reg(
412 &self,
413 ) -> &'static crate::common::Reg<self::KbscnP35ModeReg_SPEC, crate::common::RW> {
414 unsafe {
415 crate::common::Reg::<self::KbscnP35ModeReg_SPEC, crate::common::RW>::from_ptr(
416 self._svd2pac_as_ptr().add(70usize),
417 )
418 }
419 }
420
421 #[doc = "Defines the keyboard mode for P36"]
422 #[inline(always)]
423 pub const fn kbscn_p36_mode_reg(
424 &self,
425 ) -> &'static crate::common::Reg<self::KbscnP36ModeReg_SPEC, crate::common::RW> {
426 unsafe {
427 crate::common::Reg::<self::KbscnP36ModeReg_SPEC, crate::common::RW>::from_ptr(
428 self._svd2pac_as_ptr().add(72usize),
429 )
430 }
431 }
432
433 #[doc = "Defines the keyboard mode for P37"]
434 #[inline(always)]
435 pub const fn kbscn_p37_mode_reg(
436 &self,
437 ) -> &'static crate::common::Reg<self::KbscnP37ModeReg_SPEC, crate::common::RW> {
438 unsafe {
439 crate::common::Reg::<self::KbscnP37ModeReg_SPEC, crate::common::RW>::from_ptr(
440 self._svd2pac_as_ptr().add(74usize),
441 )
442 }
443 }
444
445 #[doc = "Defines the keyboard mode for P40"]
446 #[inline(always)]
447 pub const fn kbscn_p40_mode_reg(
448 &self,
449 ) -> &'static crate::common::Reg<self::KbscnP40ModeReg_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::KbscnP40ModeReg_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(76usize),
453 )
454 }
455 }
456
457 #[doc = "Defines the keyboard mode for P41"]
458 #[inline(always)]
459 pub const fn kbscn_p41_mode_reg(
460 &self,
461 ) -> &'static crate::common::Reg<self::KbscnP41ModeReg_SPEC, crate::common::RW> {
462 unsafe {
463 crate::common::Reg::<self::KbscnP41ModeReg_SPEC, crate::common::RW>::from_ptr(
464 self._svd2pac_as_ptr().add(78usize),
465 )
466 }
467 }
468
469 #[doc = "Defines the keyboard mode for P42"]
470 #[inline(always)]
471 pub const fn kbscn_p42_mode_reg(
472 &self,
473 ) -> &'static crate::common::Reg<self::KbscnP42ModeReg_SPEC, crate::common::RW> {
474 unsafe {
475 crate::common::Reg::<self::KbscnP42ModeReg_SPEC, crate::common::RW>::from_ptr(
476 self._svd2pac_as_ptr().add(80usize),
477 )
478 }
479 }
480
481 #[doc = "Defines the keyboard mode for P43"]
482 #[inline(always)]
483 pub const fn kbscn_p43_mode_reg(
484 &self,
485 ) -> &'static crate::common::Reg<self::KbscnP43ModeReg_SPEC, crate::common::RW> {
486 unsafe {
487 crate::common::Reg::<self::KbscnP43ModeReg_SPEC, crate::common::RW>::from_ptr(
488 self._svd2pac_as_ptr().add(82usize),
489 )
490 }
491 }
492
493 #[doc = "Defines the keyboard mode for P44"]
494 #[inline(always)]
495 pub const fn kbscn_p44_mode_reg(
496 &self,
497 ) -> &'static crate::common::Reg<self::KbscnP44ModeReg_SPEC, crate::common::RW> {
498 unsafe {
499 crate::common::Reg::<self::KbscnP44ModeReg_SPEC, crate::common::RW>::from_ptr(
500 self._svd2pac_as_ptr().add(84usize),
501 )
502 }
503 }
504
505 #[doc = "Defines the keyboard mode for P45"]
506 #[inline(always)]
507 pub const fn kbscn_p45_mode_reg(
508 &self,
509 ) -> &'static crate::common::Reg<self::KbscnP45ModeReg_SPEC, crate::common::RW> {
510 unsafe {
511 crate::common::Reg::<self::KbscnP45ModeReg_SPEC, crate::common::RW>::from_ptr(
512 self._svd2pac_as_ptr().add(86usize),
513 )
514 }
515 }
516
517 #[doc = "Defines the keyboard mode for P46"]
518 #[inline(always)]
519 pub const fn kbscn_p46_mode_reg(
520 &self,
521 ) -> &'static crate::common::Reg<self::KbscnP46ModeReg_SPEC, crate::common::RW> {
522 unsafe {
523 crate::common::Reg::<self::KbscnP46ModeReg_SPEC, crate::common::RW>::from_ptr(
524 self._svd2pac_as_ptr().add(88usize),
525 )
526 }
527 }
528
529 #[doc = "Defines the keyboard mode for P47"]
530 #[inline(always)]
531 pub const fn kbscn_p47_mode_reg(
532 &self,
533 ) -> &'static crate::common::Reg<self::KbscnP47ModeReg_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::KbscnP47ModeReg_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(90usize),
537 )
538 }
539 }
540
541 #[doc = "keyboard scanner Interrupt status register"]
542 #[inline(always)]
543 pub const fn kbscn_status_reg(
544 &self,
545 ) -> &'static crate::common::Reg<self::KbscnStatusReg_SPEC, crate::common::RW> {
546 unsafe {
547 crate::common::Reg::<self::KbscnStatusReg_SPEC, crate::common::RW>::from_ptr(
548 self._svd2pac_as_ptr().add(8usize),
549 )
550 }
551 }
552}
553#[doc(hidden)]
554#[derive(Copy, Clone, Eq, PartialEq)]
555pub struct KbscnCtrl2Reg_SPEC;
556impl crate::sealed::RegSpec for KbscnCtrl2Reg_SPEC {
557 type DataType = u16;
558}
559
560#[doc = "Keyboard scanner control 2 register"]
561pub type KbscnCtrl2Reg = crate::RegValueT<KbscnCtrl2Reg_SPEC>;
562
563impl KbscnCtrl2Reg {
564 #[doc = "Define the row active time in keyboard clock cycles"]
565 #[inline(always)]
566 pub fn kbscn_row_active_time(
567 self,
568 ) -> crate::common::RegisterField<
569 0,
570 0xffff,
571 1,
572 0,
573 u16,
574 u16,
575 KbscnCtrl2Reg_SPEC,
576 crate::common::RW,
577 > {
578 crate::common::RegisterField::<
579 0,
580 0xffff,
581 1,
582 0,
583 u16,
584 u16,
585 KbscnCtrl2Reg_SPEC,
586 crate::common::RW,
587 >::from_register(self, 0)
588 }
589}
590impl ::core::default::Default for KbscnCtrl2Reg {
591 #[inline(always)]
592 fn default() -> KbscnCtrl2Reg {
593 <crate::RegValueT<KbscnCtrl2Reg_SPEC> as RegisterValue<_>>::new(0)
594 }
595}
596
597#[doc(hidden)]
598#[derive(Copy, Clone, Eq, PartialEq)]
599pub struct KbscnCtrlReg_SPEC;
600impl crate::sealed::RegSpec for KbscnCtrlReg_SPEC {
601 type DataType = u16;
602}
603
604#[doc = "Keyboard scanner control register"]
605pub type KbscnCtrlReg = crate::RegValueT<KbscnCtrlReg_SPEC>;
606
607impl KbscnCtrlReg {
608 #[doc = "\'1\' reset fifo, read always \'0\'"]
609 #[inline(always)]
610 pub fn kbscn_reset_fifo(
611 self,
612 ) -> crate::common::RegisterFieldBool<14, 1, 0, KbscnCtrlReg_SPEC, crate::common::W> {
613 crate::common::RegisterFieldBool::<14,1,0,KbscnCtrlReg_SPEC,crate::common::W>::from_register(self,0)
614 }
615
616 #[doc = "Defines keyboard clk. \"00\" div/1, \"01\" div/4, \"10\" div/16, \"11\" div/64"]
617 #[inline(always)]
618 pub fn kbscn_clkdiv(
619 self,
620 ) -> crate::common::RegisterField<12, 0x3, 1, 0, u8, u8, KbscnCtrlReg_SPEC, crate::common::RW>
621 {
622 crate::common::RegisterField::<12,0x3,1,0,u8,u8,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
623 }
624
625 #[doc = "\'1\' After inactive time the keyboard scanner stops the key maxtrix scan"]
626 #[inline(always)]
627 pub fn kbscn_inactive_en(
628 self,
629 ) -> crate::common::RegisterFieldBool<11, 1, 0, KbscnCtrlReg_SPEC, crate::common::RW> {
630 crate::common::RegisterFieldBool::<11,1,0,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
631 }
632
633 #[doc = "Defines the inactive time in scan cycles. Value 0 is not allowed"]
634 #[inline(always)]
635 pub fn kbscn_inactive_time(
636 self,
637 ) -> crate::common::RegisterField<4, 0x7f, 1, 0, u8, u8, KbscnCtrlReg_SPEC, crate::common::RW>
638 {
639 crate::common::RegisterField::<4,0x7f,1,0,u8,u8,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
640 }
641
642 #[doc = "\'1\' Enable IRQ for fifo over and under flow"]
643 #[inline(always)]
644 pub fn kbscn_irq_fifo_mask(
645 self,
646 ) -> crate::common::RegisterFieldBool<3, 1, 0, KbscnCtrlReg_SPEC, crate::common::RW> {
647 crate::common::RegisterFieldBool::<3,1,0,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
648 }
649
650 #[doc = "\'1\' : Enable IRQ for inactive"]
651 #[inline(always)]
652 pub fn kbscn_irq_inactive_mask(
653 self,
654 ) -> crate::common::RegisterFieldBool<2, 1, 0, KbscnCtrlReg_SPEC, crate::common::RW> {
655 crate::common::RegisterFieldBool::<2,1,0,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
656 }
657
658 #[doc = "\'1\' : Enable IRQ for message"]
659 #[inline(always)]
660 pub fn kbscn_irq_message_mask(
661 self,
662 ) -> crate::common::RegisterFieldBool<1, 1, 0, KbscnCtrlReg_SPEC, crate::common::RW> {
663 crate::common::RegisterFieldBool::<1,1,0,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
664 }
665
666 #[doc = "\'1\' : Enable keyboard scanner, Auto clear when inactive enable and inactive case"]
667 #[inline(always)]
668 pub fn kbscn_en(
669 self,
670 ) -> crate::common::RegisterFieldBool<0, 1, 0, KbscnCtrlReg_SPEC, crate::common::RW> {
671 crate::common::RegisterFieldBool::<0,1,0,KbscnCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
672 }
673}
674impl ::core::default::Default for KbscnCtrlReg {
675 #[inline(always)]
676 fn default() -> KbscnCtrlReg {
677 <crate::RegValueT<KbscnCtrlReg_SPEC> as RegisterValue<_>>::new(0)
678 }
679}
680
681#[doc(hidden)]
682#[derive(Copy, Clone, Eq, PartialEq)]
683pub struct KbscnDebounceReg_SPEC;
684impl crate::sealed::RegSpec for KbscnDebounceReg_SPEC {
685 type DataType = u16;
686}
687
688#[doc = "Defines the debounce time for key press and release"]
689pub type KbscnDebounceReg = crate::RegValueT<KbscnDebounceReg_SPEC>;
690
691impl KbscnDebounceReg {
692 #[doc = "Defines the press debounce time in cycles of full matrix scan. One means no debounce, zero is reserved"]
693 #[inline(always)]
694 pub fn kbscn_debounce_press_time(
695 self,
696 ) -> crate::common::RegisterField<6, 0x3f, 1, 0, u8, u8, KbscnDebounceReg_SPEC, crate::common::RW>
697 {
698 crate::common::RegisterField::<
699 6,
700 0x3f,
701 1,
702 0,
703 u8,
704 u8,
705 KbscnDebounceReg_SPEC,
706 crate::common::RW,
707 >::from_register(self, 0)
708 }
709
710 #[doc = "Defines the press debounce time in cycles of full matrix scan. One means no debounce, zero is reserved"]
711 #[inline(always)]
712 pub fn kbscn_debounce_release_time(
713 self,
714 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, KbscnDebounceReg_SPEC, crate::common::RW>
715 {
716 crate::common::RegisterField::<
717 0,
718 0x3f,
719 1,
720 0,
721 u8,
722 u8,
723 KbscnDebounceReg_SPEC,
724 crate::common::RW,
725 >::from_register(self, 0)
726 }
727}
728impl ::core::default::Default for KbscnDebounceReg {
729 #[inline(always)]
730 fn default() -> KbscnDebounceReg {
731 <crate::RegValueT<KbscnDebounceReg_SPEC> as RegisterValue<_>>::new(130)
732 }
733}
734
735#[doc(hidden)]
736#[derive(Copy, Clone, Eq, PartialEq)]
737pub struct KbscnMatrixSizeReg_SPEC;
738impl crate::sealed::RegSpec for KbscnMatrixSizeReg_SPEC {
739 type DataType = u16;
740}
741
742#[doc = "Defines the number of rows and columns of the matrix"]
743pub type KbscnMatrixSizeReg = crate::RegValueT<KbscnMatrixSizeReg_SPEC>;
744
745impl KbscnMatrixSizeReg {
746 #[doc = "Defines the number of the columns of the keyboard matrix minus 1. Zero means number of columns 1"]
747 #[inline(always)]
748 pub fn kbscn_matrix_column(
749 self,
750 ) -> crate::common::RegisterField<
751 4,
752 0x1f,
753 1,
754 0,
755 u8,
756 u8,
757 KbscnMatrixSizeReg_SPEC,
758 crate::common::RW,
759 > {
760 crate::common::RegisterField::<
761 4,
762 0x1f,
763 1,
764 0,
765 u8,
766 u8,
767 KbscnMatrixSizeReg_SPEC,
768 crate::common::RW,
769 >::from_register(self, 0)
770 }
771
772 #[doc = "Defines the number of the rows of the keyboard matrix minus 1. Zero means number of rows 1"]
773 #[inline(always)]
774 pub fn kbscn_matrix_row(
775 self,
776 ) -> crate::common::RegisterField<
777 0,
778 0xf,
779 1,
780 0,
781 u8,
782 u8,
783 KbscnMatrixSizeReg_SPEC,
784 crate::common::RW,
785 > {
786 crate::common::RegisterField::<
787 0,
788 0xf,
789 1,
790 0,
791 u8,
792 u8,
793 KbscnMatrixSizeReg_SPEC,
794 crate::common::RW,
795 >::from_register(self, 0)
796 }
797}
798impl ::core::default::Default for KbscnMatrixSizeReg {
799 #[inline(always)]
800 fn default() -> KbscnMatrixSizeReg {
801 <crate::RegValueT<KbscnMatrixSizeReg_SPEC> as RegisterValue<_>>::new(0)
802 }
803}
804
805#[doc(hidden)]
806#[derive(Copy, Clone, Eq, PartialEq)]
807pub struct KbscnMessageKeyReg_SPEC;
808impl crate::sealed::RegSpec for KbscnMessageKeyReg_SPEC {
809 type DataType = u16;
810}
811
812#[doc = "Returns a key message from the message queue"]
813pub type KbscnMessageKeyReg = crate::RegValueT<KbscnMessageKeyReg_SPEC>;
814
815impl KbscnMessageKeyReg {
816 #[doc = "\'1\' : this message is the last of the group message, else \'0\'. When \'1\' bits 9:0 are all \'1\'"]
817 #[inline(always)]
818 pub fn kbscn_last_entry(
819 self,
820 ) -> crate::common::RegisterFieldBool<10, 1, 0, KbscnMessageKeyReg_SPEC, crate::common::R> {
821 crate::common::RegisterFieldBool::<10,1,0,KbscnMessageKeyReg_SPEC,crate::common::R>::from_register(self,0)
822 }
823
824 #[doc = "\'0\' : New key state is release\n\'1\' : New key state is press"]
825 #[inline(always)]
826 pub fn kbscn_key_state(
827 self,
828 ) -> crate::common::RegisterFieldBool<9, 1, 0, KbscnMessageKeyReg_SPEC, crate::common::R> {
829 crate::common::RegisterFieldBool::<9,1,0,KbscnMessageKeyReg_SPEC,crate::common::R>::from_register(self,0)
830 }
831
832 #[doc = "Defines the column id of key"]
833 #[inline(always)]
834 pub fn kbscn_keyid_column(
835 self,
836 ) -> crate::common::RegisterField<
837 4,
838 0x1f,
839 1,
840 0,
841 u8,
842 u8,
843 KbscnMessageKeyReg_SPEC,
844 crate::common::R,
845 > {
846 crate::common::RegisterField::<
847 4,
848 0x1f,
849 1,
850 0,
851 u8,
852 u8,
853 KbscnMessageKeyReg_SPEC,
854 crate::common::R,
855 >::from_register(self, 0)
856 }
857
858 #[doc = "Defines the row id of key"]
859 #[inline(always)]
860 pub fn kbscn_keyid_row(
861 self,
862 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, KbscnMessageKeyReg_SPEC, crate::common::R>
863 {
864 crate::common::RegisterField::<
865 0,
866 0xf,
867 1,
868 0,
869 u8,
870 u8,
871 KbscnMessageKeyReg_SPEC,
872 crate::common::R,
873 >::from_register(self, 0)
874 }
875}
876impl ::core::default::Default for KbscnMessageKeyReg {
877 #[inline(always)]
878 fn default() -> KbscnMessageKeyReg {
879 <crate::RegValueT<KbscnMessageKeyReg_SPEC> as RegisterValue<_>>::new(0)
880 }
881}
882
883#[doc(hidden)]
884#[derive(Copy, Clone, Eq, PartialEq)]
885pub struct KbscnP00ModeReg_SPEC;
886impl crate::sealed::RegSpec for KbscnP00ModeReg_SPEC {
887 type DataType = u16;
888}
889
890#[doc = "Defines the keyboard mode for P00"]
891pub type KbscnP00ModeReg = crate::RegValueT<KbscnP00ModeReg_SPEC>;
892
893impl KbscnP00ModeReg {
894 #[doc = "\'1\' GPIO is enable for row or column"]
895 #[inline(always)]
896 pub fn kbscn_gpio_en(
897 self,
898 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP00ModeReg_SPEC, crate::common::RW> {
899 crate::common::RegisterFieldBool::<6,1,0,KbscnP00ModeReg_SPEC,crate::common::RW>::from_register(self,0)
900 }
901
902 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
903 #[inline(always)]
904 pub fn kbscn_row(
905 self,
906 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP00ModeReg_SPEC, crate::common::RW> {
907 crate::common::RegisterFieldBool::<5,1,0,KbscnP00ModeReg_SPEC,crate::common::RW>::from_register(self,0)
908 }
909
910 #[doc = "Defines the row/column index that has to be connected"]
911 #[inline(always)]
912 pub fn kbscn_mode(
913 self,
914 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP00ModeReg_SPEC, crate::common::RW>
915 {
916 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP00ModeReg_SPEC,crate::common::RW>::from_register(self,0)
917 }
918}
919impl ::core::default::Default for KbscnP00ModeReg {
920 #[inline(always)]
921 fn default() -> KbscnP00ModeReg {
922 <crate::RegValueT<KbscnP00ModeReg_SPEC> as RegisterValue<_>>::new(0)
923 }
924}
925
926#[doc(hidden)]
927#[derive(Copy, Clone, Eq, PartialEq)]
928pub struct KbscnP01ModeReg_SPEC;
929impl crate::sealed::RegSpec for KbscnP01ModeReg_SPEC {
930 type DataType = u16;
931}
932
933#[doc = "Defines the keyboard mode for P01"]
934pub type KbscnP01ModeReg = crate::RegValueT<KbscnP01ModeReg_SPEC>;
935
936impl KbscnP01ModeReg {
937 #[doc = "\'1\' GPIO is enable for row or column"]
938 #[inline(always)]
939 pub fn kbscn_gpio_en(
940 self,
941 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP01ModeReg_SPEC, crate::common::RW> {
942 crate::common::RegisterFieldBool::<6,1,0,KbscnP01ModeReg_SPEC,crate::common::RW>::from_register(self,0)
943 }
944
945 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
946 #[inline(always)]
947 pub fn kbscn_row(
948 self,
949 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP01ModeReg_SPEC, crate::common::RW> {
950 crate::common::RegisterFieldBool::<5,1,0,KbscnP01ModeReg_SPEC,crate::common::RW>::from_register(self,0)
951 }
952
953 #[doc = "Defines the row/column index that has to be connected"]
954 #[inline(always)]
955 pub fn kbscn_mode(
956 self,
957 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP01ModeReg_SPEC, crate::common::RW>
958 {
959 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP01ModeReg_SPEC,crate::common::RW>::from_register(self,0)
960 }
961}
962impl ::core::default::Default for KbscnP01ModeReg {
963 #[inline(always)]
964 fn default() -> KbscnP01ModeReg {
965 <crate::RegValueT<KbscnP01ModeReg_SPEC> as RegisterValue<_>>::new(0)
966 }
967}
968
969#[doc(hidden)]
970#[derive(Copy, Clone, Eq, PartialEq)]
971pub struct KbscnP02ModeReg_SPEC;
972impl crate::sealed::RegSpec for KbscnP02ModeReg_SPEC {
973 type DataType = u16;
974}
975
976#[doc = "Defines the keyboard mode for P02"]
977pub type KbscnP02ModeReg = crate::RegValueT<KbscnP02ModeReg_SPEC>;
978
979impl KbscnP02ModeReg {
980 #[doc = "\'1\' GPIO is enable for row or column"]
981 #[inline(always)]
982 pub fn kbscn_gpio_en(
983 self,
984 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP02ModeReg_SPEC, crate::common::RW> {
985 crate::common::RegisterFieldBool::<6,1,0,KbscnP02ModeReg_SPEC,crate::common::RW>::from_register(self,0)
986 }
987
988 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
989 #[inline(always)]
990 pub fn kbscn_row(
991 self,
992 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP02ModeReg_SPEC, crate::common::RW> {
993 crate::common::RegisterFieldBool::<5,1,0,KbscnP02ModeReg_SPEC,crate::common::RW>::from_register(self,0)
994 }
995
996 #[doc = "Defines the row/column index that has to be connected"]
997 #[inline(always)]
998 pub fn kbscn_mode(
999 self,
1000 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP02ModeReg_SPEC, crate::common::RW>
1001 {
1002 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP02ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1003 }
1004}
1005impl ::core::default::Default for KbscnP02ModeReg {
1006 #[inline(always)]
1007 fn default() -> KbscnP02ModeReg {
1008 <crate::RegValueT<KbscnP02ModeReg_SPEC> as RegisterValue<_>>::new(0)
1009 }
1010}
1011
1012#[doc(hidden)]
1013#[derive(Copy, Clone, Eq, PartialEq)]
1014pub struct KbscnP03ModeReg_SPEC;
1015impl crate::sealed::RegSpec for KbscnP03ModeReg_SPEC {
1016 type DataType = u16;
1017}
1018
1019#[doc = "Defines the keyboard mode for P03"]
1020pub type KbscnP03ModeReg = crate::RegValueT<KbscnP03ModeReg_SPEC>;
1021
1022impl KbscnP03ModeReg {
1023 #[doc = "\'1\' GPIO is enable for row or column"]
1024 #[inline(always)]
1025 pub fn kbscn_gpio_en(
1026 self,
1027 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP03ModeReg_SPEC, crate::common::RW> {
1028 crate::common::RegisterFieldBool::<6,1,0,KbscnP03ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1029 }
1030
1031 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1032 #[inline(always)]
1033 pub fn kbscn_row(
1034 self,
1035 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP03ModeReg_SPEC, crate::common::RW> {
1036 crate::common::RegisterFieldBool::<5,1,0,KbscnP03ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1037 }
1038
1039 #[doc = "Defines the row/column index that has to be connected"]
1040 #[inline(always)]
1041 pub fn kbscn_mode(
1042 self,
1043 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP03ModeReg_SPEC, crate::common::RW>
1044 {
1045 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP03ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1046 }
1047}
1048impl ::core::default::Default for KbscnP03ModeReg {
1049 #[inline(always)]
1050 fn default() -> KbscnP03ModeReg {
1051 <crate::RegValueT<KbscnP03ModeReg_SPEC> as RegisterValue<_>>::new(0)
1052 }
1053}
1054
1055#[doc(hidden)]
1056#[derive(Copy, Clone, Eq, PartialEq)]
1057pub struct KbscnP04ModeReg_SPEC;
1058impl crate::sealed::RegSpec for KbscnP04ModeReg_SPEC {
1059 type DataType = u16;
1060}
1061
1062#[doc = "Defines the keyboard mode for P04"]
1063pub type KbscnP04ModeReg = crate::RegValueT<KbscnP04ModeReg_SPEC>;
1064
1065impl KbscnP04ModeReg {
1066 #[doc = "\'1\' GPIO is enable for row or column"]
1067 #[inline(always)]
1068 pub fn kbscn_gpio_en(
1069 self,
1070 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP04ModeReg_SPEC, crate::common::RW> {
1071 crate::common::RegisterFieldBool::<6,1,0,KbscnP04ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1072 }
1073
1074 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1075 #[inline(always)]
1076 pub fn kbscn_row(
1077 self,
1078 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP04ModeReg_SPEC, crate::common::RW> {
1079 crate::common::RegisterFieldBool::<5,1,0,KbscnP04ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1080 }
1081
1082 #[doc = "Defines the row/column index that has to be connected"]
1083 #[inline(always)]
1084 pub fn kbscn_mode(
1085 self,
1086 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP04ModeReg_SPEC, crate::common::RW>
1087 {
1088 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP04ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1089 }
1090}
1091impl ::core::default::Default for KbscnP04ModeReg {
1092 #[inline(always)]
1093 fn default() -> KbscnP04ModeReg {
1094 <crate::RegValueT<KbscnP04ModeReg_SPEC> as RegisterValue<_>>::new(0)
1095 }
1096}
1097
1098#[doc(hidden)]
1099#[derive(Copy, Clone, Eq, PartialEq)]
1100pub struct KbscnP05ModeReg_SPEC;
1101impl crate::sealed::RegSpec for KbscnP05ModeReg_SPEC {
1102 type DataType = u16;
1103}
1104
1105#[doc = "Defines the keyboard mode for P05"]
1106pub type KbscnP05ModeReg = crate::RegValueT<KbscnP05ModeReg_SPEC>;
1107
1108impl KbscnP05ModeReg {
1109 #[doc = "\'1\' GPIO is enable for row or column"]
1110 #[inline(always)]
1111 pub fn kbscn_gpio_en(
1112 self,
1113 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP05ModeReg_SPEC, crate::common::RW> {
1114 crate::common::RegisterFieldBool::<6,1,0,KbscnP05ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1115 }
1116
1117 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1118 #[inline(always)]
1119 pub fn kbscn_row(
1120 self,
1121 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP05ModeReg_SPEC, crate::common::RW> {
1122 crate::common::RegisterFieldBool::<5,1,0,KbscnP05ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1123 }
1124
1125 #[doc = "Defines the row/column index that has to be connected"]
1126 #[inline(always)]
1127 pub fn kbscn_mode(
1128 self,
1129 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP05ModeReg_SPEC, crate::common::RW>
1130 {
1131 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP05ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1132 }
1133}
1134impl ::core::default::Default for KbscnP05ModeReg {
1135 #[inline(always)]
1136 fn default() -> KbscnP05ModeReg {
1137 <crate::RegValueT<KbscnP05ModeReg_SPEC> as RegisterValue<_>>::new(0)
1138 }
1139}
1140
1141#[doc(hidden)]
1142#[derive(Copy, Clone, Eq, PartialEq)]
1143pub struct KbscnP06ModeReg_SPEC;
1144impl crate::sealed::RegSpec for KbscnP06ModeReg_SPEC {
1145 type DataType = u16;
1146}
1147
1148#[doc = "Defines the keyboard mode for P06"]
1149pub type KbscnP06ModeReg = crate::RegValueT<KbscnP06ModeReg_SPEC>;
1150
1151impl KbscnP06ModeReg {
1152 #[doc = "\'1\' GPIO is enable for row or column"]
1153 #[inline(always)]
1154 pub fn kbscn_gpio_en(
1155 self,
1156 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP06ModeReg_SPEC, crate::common::RW> {
1157 crate::common::RegisterFieldBool::<6,1,0,KbscnP06ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1158 }
1159
1160 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1161 #[inline(always)]
1162 pub fn kbscn_row(
1163 self,
1164 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP06ModeReg_SPEC, crate::common::RW> {
1165 crate::common::RegisterFieldBool::<5,1,0,KbscnP06ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1166 }
1167
1168 #[doc = "Defines the row/column index that has to be connected"]
1169 #[inline(always)]
1170 pub fn kbscn_mode(
1171 self,
1172 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP06ModeReg_SPEC, crate::common::RW>
1173 {
1174 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP06ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1175 }
1176}
1177impl ::core::default::Default for KbscnP06ModeReg {
1178 #[inline(always)]
1179 fn default() -> KbscnP06ModeReg {
1180 <crate::RegValueT<KbscnP06ModeReg_SPEC> as RegisterValue<_>>::new(0)
1181 }
1182}
1183
1184#[doc(hidden)]
1185#[derive(Copy, Clone, Eq, PartialEq)]
1186pub struct KbscnP07ModeReg_SPEC;
1187impl crate::sealed::RegSpec for KbscnP07ModeReg_SPEC {
1188 type DataType = u16;
1189}
1190
1191#[doc = "Defines the keyboard mode for P07"]
1192pub type KbscnP07ModeReg = crate::RegValueT<KbscnP07ModeReg_SPEC>;
1193
1194impl KbscnP07ModeReg {
1195 #[doc = "\'1\' GPIO is enable for row or column"]
1196 #[inline(always)]
1197 pub fn kbscn_gpio_en(
1198 self,
1199 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP07ModeReg_SPEC, crate::common::RW> {
1200 crate::common::RegisterFieldBool::<6,1,0,KbscnP07ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1201 }
1202
1203 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1204 #[inline(always)]
1205 pub fn kbscn_row(
1206 self,
1207 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP07ModeReg_SPEC, crate::common::RW> {
1208 crate::common::RegisterFieldBool::<5,1,0,KbscnP07ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1209 }
1210
1211 #[doc = "Defines the row/column index that has to be connected"]
1212 #[inline(always)]
1213 pub fn kbscn_mode(
1214 self,
1215 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP07ModeReg_SPEC, crate::common::RW>
1216 {
1217 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP07ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1218 }
1219}
1220impl ::core::default::Default for KbscnP07ModeReg {
1221 #[inline(always)]
1222 fn default() -> KbscnP07ModeReg {
1223 <crate::RegValueT<KbscnP07ModeReg_SPEC> as RegisterValue<_>>::new(0)
1224 }
1225}
1226
1227#[doc(hidden)]
1228#[derive(Copy, Clone, Eq, PartialEq)]
1229pub struct KbscnP10ModeReg_SPEC;
1230impl crate::sealed::RegSpec for KbscnP10ModeReg_SPEC {
1231 type DataType = u16;
1232}
1233
1234#[doc = "Defines the keyboard mode for P10"]
1235pub type KbscnP10ModeReg = crate::RegValueT<KbscnP10ModeReg_SPEC>;
1236
1237impl KbscnP10ModeReg {
1238 #[doc = "\'1\' GPIO is enable for row or column"]
1239 #[inline(always)]
1240 pub fn kbscn_gpio_en(
1241 self,
1242 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP10ModeReg_SPEC, crate::common::RW> {
1243 crate::common::RegisterFieldBool::<6,1,0,KbscnP10ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1244 }
1245
1246 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1247 #[inline(always)]
1248 pub fn kbscn_row(
1249 self,
1250 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP10ModeReg_SPEC, crate::common::RW> {
1251 crate::common::RegisterFieldBool::<5,1,0,KbscnP10ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1252 }
1253
1254 #[doc = "Defines the row/column index that has to be connected"]
1255 #[inline(always)]
1256 pub fn kbscn_mode(
1257 self,
1258 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP10ModeReg_SPEC, crate::common::RW>
1259 {
1260 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP10ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1261 }
1262}
1263impl ::core::default::Default for KbscnP10ModeReg {
1264 #[inline(always)]
1265 fn default() -> KbscnP10ModeReg {
1266 <crate::RegValueT<KbscnP10ModeReg_SPEC> as RegisterValue<_>>::new(0)
1267 }
1268}
1269
1270#[doc(hidden)]
1271#[derive(Copy, Clone, Eq, PartialEq)]
1272pub struct KbscnP11ModeReg_SPEC;
1273impl crate::sealed::RegSpec for KbscnP11ModeReg_SPEC {
1274 type DataType = u16;
1275}
1276
1277#[doc = "Defines the keyboard mode for P11"]
1278pub type KbscnP11ModeReg = crate::RegValueT<KbscnP11ModeReg_SPEC>;
1279
1280impl KbscnP11ModeReg {
1281 #[doc = "\'1\' GPIO is enable for row or column"]
1282 #[inline(always)]
1283 pub fn kbscn_gpio_en(
1284 self,
1285 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP11ModeReg_SPEC, crate::common::RW> {
1286 crate::common::RegisterFieldBool::<6,1,0,KbscnP11ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1287 }
1288
1289 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1290 #[inline(always)]
1291 pub fn kbscn_row(
1292 self,
1293 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP11ModeReg_SPEC, crate::common::RW> {
1294 crate::common::RegisterFieldBool::<5,1,0,KbscnP11ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1295 }
1296
1297 #[doc = "Defines the row/column index that has to be connected"]
1298 #[inline(always)]
1299 pub fn kbscn_mode(
1300 self,
1301 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP11ModeReg_SPEC, crate::common::RW>
1302 {
1303 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP11ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1304 }
1305}
1306impl ::core::default::Default for KbscnP11ModeReg {
1307 #[inline(always)]
1308 fn default() -> KbscnP11ModeReg {
1309 <crate::RegValueT<KbscnP11ModeReg_SPEC> as RegisterValue<_>>::new(0)
1310 }
1311}
1312
1313#[doc(hidden)]
1314#[derive(Copy, Clone, Eq, PartialEq)]
1315pub struct KbscnP12ModeReg_SPEC;
1316impl crate::sealed::RegSpec for KbscnP12ModeReg_SPEC {
1317 type DataType = u16;
1318}
1319
1320#[doc = "Defines the keyboard mode for P12"]
1321pub type KbscnP12ModeReg = crate::RegValueT<KbscnP12ModeReg_SPEC>;
1322
1323impl KbscnP12ModeReg {
1324 #[doc = "\'1\' GPIO is enable for row or column"]
1325 #[inline(always)]
1326 pub fn kbscn_gpio_en(
1327 self,
1328 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP12ModeReg_SPEC, crate::common::RW> {
1329 crate::common::RegisterFieldBool::<6,1,0,KbscnP12ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1330 }
1331
1332 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1333 #[inline(always)]
1334 pub fn kbscn_row(
1335 self,
1336 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP12ModeReg_SPEC, crate::common::RW> {
1337 crate::common::RegisterFieldBool::<5,1,0,KbscnP12ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1338 }
1339
1340 #[doc = "Defines the row/column index that has to be connected"]
1341 #[inline(always)]
1342 pub fn kbscn_mode(
1343 self,
1344 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP12ModeReg_SPEC, crate::common::RW>
1345 {
1346 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP12ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1347 }
1348}
1349impl ::core::default::Default for KbscnP12ModeReg {
1350 #[inline(always)]
1351 fn default() -> KbscnP12ModeReg {
1352 <crate::RegValueT<KbscnP12ModeReg_SPEC> as RegisterValue<_>>::new(0)
1353 }
1354}
1355
1356#[doc(hidden)]
1357#[derive(Copy, Clone, Eq, PartialEq)]
1358pub struct KbscnP13ModeReg_SPEC;
1359impl crate::sealed::RegSpec for KbscnP13ModeReg_SPEC {
1360 type DataType = u16;
1361}
1362
1363#[doc = "Defines the keyboard mode for P13"]
1364pub type KbscnP13ModeReg = crate::RegValueT<KbscnP13ModeReg_SPEC>;
1365
1366impl KbscnP13ModeReg {
1367 #[doc = "\'1\' GPIO is enable for row or column"]
1368 #[inline(always)]
1369 pub fn kbscn_gpio_en(
1370 self,
1371 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP13ModeReg_SPEC, crate::common::RW> {
1372 crate::common::RegisterFieldBool::<6,1,0,KbscnP13ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1373 }
1374
1375 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1376 #[inline(always)]
1377 pub fn kbscn_row(
1378 self,
1379 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP13ModeReg_SPEC, crate::common::RW> {
1380 crate::common::RegisterFieldBool::<5,1,0,KbscnP13ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1381 }
1382
1383 #[doc = "Defines the row/column index that has to be connected"]
1384 #[inline(always)]
1385 pub fn kbscn_mode(
1386 self,
1387 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP13ModeReg_SPEC, crate::common::RW>
1388 {
1389 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP13ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1390 }
1391}
1392impl ::core::default::Default for KbscnP13ModeReg {
1393 #[inline(always)]
1394 fn default() -> KbscnP13ModeReg {
1395 <crate::RegValueT<KbscnP13ModeReg_SPEC> as RegisterValue<_>>::new(0)
1396 }
1397}
1398
1399#[doc(hidden)]
1400#[derive(Copy, Clone, Eq, PartialEq)]
1401pub struct KbscnP14ModeReg_SPEC;
1402impl crate::sealed::RegSpec for KbscnP14ModeReg_SPEC {
1403 type DataType = u16;
1404}
1405
1406#[doc = "Defines the keyboard mode for P14"]
1407pub type KbscnP14ModeReg = crate::RegValueT<KbscnP14ModeReg_SPEC>;
1408
1409impl KbscnP14ModeReg {
1410 #[doc = "\'1\' GPIO is enable for row or column"]
1411 #[inline(always)]
1412 pub fn kbscn_gpio_en(
1413 self,
1414 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP14ModeReg_SPEC, crate::common::RW> {
1415 crate::common::RegisterFieldBool::<6,1,0,KbscnP14ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1416 }
1417
1418 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1419 #[inline(always)]
1420 pub fn kbscn_row(
1421 self,
1422 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP14ModeReg_SPEC, crate::common::RW> {
1423 crate::common::RegisterFieldBool::<5,1,0,KbscnP14ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1424 }
1425
1426 #[doc = "Defines the row/column index that has to be connected"]
1427 #[inline(always)]
1428 pub fn kbscn_mode(
1429 self,
1430 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP14ModeReg_SPEC, crate::common::RW>
1431 {
1432 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP14ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1433 }
1434}
1435impl ::core::default::Default for KbscnP14ModeReg {
1436 #[inline(always)]
1437 fn default() -> KbscnP14ModeReg {
1438 <crate::RegValueT<KbscnP14ModeReg_SPEC> as RegisterValue<_>>::new(0)
1439 }
1440}
1441
1442#[doc(hidden)]
1443#[derive(Copy, Clone, Eq, PartialEq)]
1444pub struct KbscnP15ModeReg_SPEC;
1445impl crate::sealed::RegSpec for KbscnP15ModeReg_SPEC {
1446 type DataType = u16;
1447}
1448
1449#[doc = "Defines the keyboard mode for P15"]
1450pub type KbscnP15ModeReg = crate::RegValueT<KbscnP15ModeReg_SPEC>;
1451
1452impl KbscnP15ModeReg {
1453 #[doc = "\'1\' GPIO is enable for row or column"]
1454 #[inline(always)]
1455 pub fn kbscn_gpio_en(
1456 self,
1457 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP15ModeReg_SPEC, crate::common::RW> {
1458 crate::common::RegisterFieldBool::<6,1,0,KbscnP15ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1459 }
1460
1461 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1462 #[inline(always)]
1463 pub fn kbscn_row(
1464 self,
1465 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP15ModeReg_SPEC, crate::common::RW> {
1466 crate::common::RegisterFieldBool::<5,1,0,KbscnP15ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1467 }
1468
1469 #[doc = "Defines the row/column index that has to be connected"]
1470 #[inline(always)]
1471 pub fn kbscn_mode(
1472 self,
1473 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP15ModeReg_SPEC, crate::common::RW>
1474 {
1475 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP15ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1476 }
1477}
1478impl ::core::default::Default for KbscnP15ModeReg {
1479 #[inline(always)]
1480 fn default() -> KbscnP15ModeReg {
1481 <crate::RegValueT<KbscnP15ModeReg_SPEC> as RegisterValue<_>>::new(0)
1482 }
1483}
1484
1485#[doc(hidden)]
1486#[derive(Copy, Clone, Eq, PartialEq)]
1487pub struct KbscnP16ModeReg_SPEC;
1488impl crate::sealed::RegSpec for KbscnP16ModeReg_SPEC {
1489 type DataType = u16;
1490}
1491
1492#[doc = "Defines the keyboard mode for P16"]
1493pub type KbscnP16ModeReg = crate::RegValueT<KbscnP16ModeReg_SPEC>;
1494
1495impl KbscnP16ModeReg {
1496 #[doc = "\'1\' GPIO is enable for row or column"]
1497 #[inline(always)]
1498 pub fn kbscn_gpio_en(
1499 self,
1500 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP16ModeReg_SPEC, crate::common::RW> {
1501 crate::common::RegisterFieldBool::<6,1,0,KbscnP16ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1502 }
1503
1504 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1505 #[inline(always)]
1506 pub fn kbscn_row(
1507 self,
1508 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP16ModeReg_SPEC, crate::common::RW> {
1509 crate::common::RegisterFieldBool::<5,1,0,KbscnP16ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1510 }
1511
1512 #[doc = "Defines the row/column index that has to be connected"]
1513 #[inline(always)]
1514 pub fn kbscn_mode(
1515 self,
1516 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP16ModeReg_SPEC, crate::common::RW>
1517 {
1518 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP16ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1519 }
1520}
1521impl ::core::default::Default for KbscnP16ModeReg {
1522 #[inline(always)]
1523 fn default() -> KbscnP16ModeReg {
1524 <crate::RegValueT<KbscnP16ModeReg_SPEC> as RegisterValue<_>>::new(0)
1525 }
1526}
1527
1528#[doc(hidden)]
1529#[derive(Copy, Clone, Eq, PartialEq)]
1530pub struct KbscnP17ModeReg_SPEC;
1531impl crate::sealed::RegSpec for KbscnP17ModeReg_SPEC {
1532 type DataType = u16;
1533}
1534
1535#[doc = "Defines the keyboard mode for P17"]
1536pub type KbscnP17ModeReg = crate::RegValueT<KbscnP17ModeReg_SPEC>;
1537
1538impl KbscnP17ModeReg {
1539 #[doc = "\'1\' GPIO is enable for row or column"]
1540 #[inline(always)]
1541 pub fn kbscn_gpio_en(
1542 self,
1543 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP17ModeReg_SPEC, crate::common::RW> {
1544 crate::common::RegisterFieldBool::<6,1,0,KbscnP17ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1545 }
1546
1547 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1548 #[inline(always)]
1549 pub fn kbscn_row(
1550 self,
1551 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP17ModeReg_SPEC, crate::common::RW> {
1552 crate::common::RegisterFieldBool::<5,1,0,KbscnP17ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1553 }
1554
1555 #[doc = "Defines the row/column index that has to be connected"]
1556 #[inline(always)]
1557 pub fn kbscn_mode(
1558 self,
1559 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP17ModeReg_SPEC, crate::common::RW>
1560 {
1561 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP17ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1562 }
1563}
1564impl ::core::default::Default for KbscnP17ModeReg {
1565 #[inline(always)]
1566 fn default() -> KbscnP17ModeReg {
1567 <crate::RegValueT<KbscnP17ModeReg_SPEC> as RegisterValue<_>>::new(0)
1568 }
1569}
1570
1571#[doc(hidden)]
1572#[derive(Copy, Clone, Eq, PartialEq)]
1573pub struct KbscnP20ModeReg_SPEC;
1574impl crate::sealed::RegSpec for KbscnP20ModeReg_SPEC {
1575 type DataType = u16;
1576}
1577
1578#[doc = "Defines the keyboard mode for P20"]
1579pub type KbscnP20ModeReg = crate::RegValueT<KbscnP20ModeReg_SPEC>;
1580
1581impl KbscnP20ModeReg {
1582 #[doc = "\'1\' GPIO is enable for row or column"]
1583 #[inline(always)]
1584 pub fn kbscn_gpio_en(
1585 self,
1586 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP20ModeReg_SPEC, crate::common::RW> {
1587 crate::common::RegisterFieldBool::<6,1,0,KbscnP20ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1588 }
1589
1590 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1591 #[inline(always)]
1592 pub fn kbscn_row(
1593 self,
1594 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP20ModeReg_SPEC, crate::common::RW> {
1595 crate::common::RegisterFieldBool::<5,1,0,KbscnP20ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1596 }
1597
1598 #[doc = "Defines the row/column index that has to be connected"]
1599 #[inline(always)]
1600 pub fn kbscn_mode(
1601 self,
1602 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP20ModeReg_SPEC, crate::common::RW>
1603 {
1604 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP20ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1605 }
1606}
1607impl ::core::default::Default for KbscnP20ModeReg {
1608 #[inline(always)]
1609 fn default() -> KbscnP20ModeReg {
1610 <crate::RegValueT<KbscnP20ModeReg_SPEC> as RegisterValue<_>>::new(0)
1611 }
1612}
1613
1614#[doc(hidden)]
1615#[derive(Copy, Clone, Eq, PartialEq)]
1616pub struct KbscnP21ModeReg_SPEC;
1617impl crate::sealed::RegSpec for KbscnP21ModeReg_SPEC {
1618 type DataType = u16;
1619}
1620
1621#[doc = "Defines the keyboard mode for P21"]
1622pub type KbscnP21ModeReg = crate::RegValueT<KbscnP21ModeReg_SPEC>;
1623
1624impl KbscnP21ModeReg {
1625 #[doc = "\'1\' GPIO is enable for row or column"]
1626 #[inline(always)]
1627 pub fn kbscn_gpio_en(
1628 self,
1629 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP21ModeReg_SPEC, crate::common::RW> {
1630 crate::common::RegisterFieldBool::<6,1,0,KbscnP21ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1631 }
1632
1633 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1634 #[inline(always)]
1635 pub fn kbscn_row(
1636 self,
1637 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP21ModeReg_SPEC, crate::common::RW> {
1638 crate::common::RegisterFieldBool::<5,1,0,KbscnP21ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1639 }
1640
1641 #[doc = "Defines the row/column index that has to be connected"]
1642 #[inline(always)]
1643 pub fn kbscn_mode(
1644 self,
1645 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP21ModeReg_SPEC, crate::common::RW>
1646 {
1647 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP21ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1648 }
1649}
1650impl ::core::default::Default for KbscnP21ModeReg {
1651 #[inline(always)]
1652 fn default() -> KbscnP21ModeReg {
1653 <crate::RegValueT<KbscnP21ModeReg_SPEC> as RegisterValue<_>>::new(0)
1654 }
1655}
1656
1657#[doc(hidden)]
1658#[derive(Copy, Clone, Eq, PartialEq)]
1659pub struct KbscnP22ModeReg_SPEC;
1660impl crate::sealed::RegSpec for KbscnP22ModeReg_SPEC {
1661 type DataType = u16;
1662}
1663
1664#[doc = "Defines the keyboard mode for P22"]
1665pub type KbscnP22ModeReg = crate::RegValueT<KbscnP22ModeReg_SPEC>;
1666
1667impl KbscnP22ModeReg {
1668 #[doc = "\'1\' GPIO is enable for row or column"]
1669 #[inline(always)]
1670 pub fn kbscn_gpio_en(
1671 self,
1672 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP22ModeReg_SPEC, crate::common::RW> {
1673 crate::common::RegisterFieldBool::<6,1,0,KbscnP22ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1674 }
1675
1676 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1677 #[inline(always)]
1678 pub fn kbscn_row(
1679 self,
1680 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP22ModeReg_SPEC, crate::common::RW> {
1681 crate::common::RegisterFieldBool::<5,1,0,KbscnP22ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1682 }
1683
1684 #[doc = "Defines the row/column index that has to be connected"]
1685 #[inline(always)]
1686 pub fn kbscn_mode(
1687 self,
1688 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP22ModeReg_SPEC, crate::common::RW>
1689 {
1690 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP22ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1691 }
1692}
1693impl ::core::default::Default for KbscnP22ModeReg {
1694 #[inline(always)]
1695 fn default() -> KbscnP22ModeReg {
1696 <crate::RegValueT<KbscnP22ModeReg_SPEC> as RegisterValue<_>>::new(0)
1697 }
1698}
1699
1700#[doc(hidden)]
1701#[derive(Copy, Clone, Eq, PartialEq)]
1702pub struct KbscnP23ModeReg_SPEC;
1703impl crate::sealed::RegSpec for KbscnP23ModeReg_SPEC {
1704 type DataType = u16;
1705}
1706
1707#[doc = "Defines the keyboard mode for P23"]
1708pub type KbscnP23ModeReg = crate::RegValueT<KbscnP23ModeReg_SPEC>;
1709
1710impl KbscnP23ModeReg {
1711 #[doc = "\'1\' GPIO is enable for row or column"]
1712 #[inline(always)]
1713 pub fn kbscn_gpio_en(
1714 self,
1715 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP23ModeReg_SPEC, crate::common::RW> {
1716 crate::common::RegisterFieldBool::<6,1,0,KbscnP23ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1717 }
1718
1719 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1720 #[inline(always)]
1721 pub fn kbscn_row(
1722 self,
1723 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP23ModeReg_SPEC, crate::common::RW> {
1724 crate::common::RegisterFieldBool::<5,1,0,KbscnP23ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1725 }
1726
1727 #[doc = "Defines the row/column index that has to be connected"]
1728 #[inline(always)]
1729 pub fn kbscn_mode(
1730 self,
1731 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP23ModeReg_SPEC, crate::common::RW>
1732 {
1733 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP23ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1734 }
1735}
1736impl ::core::default::Default for KbscnP23ModeReg {
1737 #[inline(always)]
1738 fn default() -> KbscnP23ModeReg {
1739 <crate::RegValueT<KbscnP23ModeReg_SPEC> as RegisterValue<_>>::new(0)
1740 }
1741}
1742
1743#[doc(hidden)]
1744#[derive(Copy, Clone, Eq, PartialEq)]
1745pub struct KbscnP24ModeReg_SPEC;
1746impl crate::sealed::RegSpec for KbscnP24ModeReg_SPEC {
1747 type DataType = u16;
1748}
1749
1750#[doc = "Defines the keyboard mode for P24"]
1751pub type KbscnP24ModeReg = crate::RegValueT<KbscnP24ModeReg_SPEC>;
1752
1753impl KbscnP24ModeReg {
1754 #[doc = "\'1\' GPIO is enable for row or column"]
1755 #[inline(always)]
1756 pub fn kbscn_gpio_en(
1757 self,
1758 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP24ModeReg_SPEC, crate::common::RW> {
1759 crate::common::RegisterFieldBool::<6,1,0,KbscnP24ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1760 }
1761
1762 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1763 #[inline(always)]
1764 pub fn kbscn_row(
1765 self,
1766 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP24ModeReg_SPEC, crate::common::RW> {
1767 crate::common::RegisterFieldBool::<5,1,0,KbscnP24ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1768 }
1769
1770 #[doc = "Defines the row/column index that has to be connected"]
1771 #[inline(always)]
1772 pub fn kbscn_mode(
1773 self,
1774 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP24ModeReg_SPEC, crate::common::RW>
1775 {
1776 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP24ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1777 }
1778}
1779impl ::core::default::Default for KbscnP24ModeReg {
1780 #[inline(always)]
1781 fn default() -> KbscnP24ModeReg {
1782 <crate::RegValueT<KbscnP24ModeReg_SPEC> as RegisterValue<_>>::new(0)
1783 }
1784}
1785
1786#[doc(hidden)]
1787#[derive(Copy, Clone, Eq, PartialEq)]
1788pub struct KbscnP30ModeReg_SPEC;
1789impl crate::sealed::RegSpec for KbscnP30ModeReg_SPEC {
1790 type DataType = u16;
1791}
1792
1793#[doc = "Defines the keyboard mode for P30"]
1794pub type KbscnP30ModeReg = crate::RegValueT<KbscnP30ModeReg_SPEC>;
1795
1796impl KbscnP30ModeReg {
1797 #[doc = "\'1\' GPIO is enable for row or column"]
1798 #[inline(always)]
1799 pub fn kbscn_gpio_en(
1800 self,
1801 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP30ModeReg_SPEC, crate::common::RW> {
1802 crate::common::RegisterFieldBool::<6,1,0,KbscnP30ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1803 }
1804
1805 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1806 #[inline(always)]
1807 pub fn kbscn_row(
1808 self,
1809 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP30ModeReg_SPEC, crate::common::RW> {
1810 crate::common::RegisterFieldBool::<5,1,0,KbscnP30ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1811 }
1812
1813 #[doc = "Defines the row/column index that has to be connected"]
1814 #[inline(always)]
1815 pub fn kbscn_mode(
1816 self,
1817 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP30ModeReg_SPEC, crate::common::RW>
1818 {
1819 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP30ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1820 }
1821}
1822impl ::core::default::Default for KbscnP30ModeReg {
1823 #[inline(always)]
1824 fn default() -> KbscnP30ModeReg {
1825 <crate::RegValueT<KbscnP30ModeReg_SPEC> as RegisterValue<_>>::new(0)
1826 }
1827}
1828
1829#[doc(hidden)]
1830#[derive(Copy, Clone, Eq, PartialEq)]
1831pub struct KbscnP31ModeReg_SPEC;
1832impl crate::sealed::RegSpec for KbscnP31ModeReg_SPEC {
1833 type DataType = u16;
1834}
1835
1836#[doc = "Defines the keyboard mode for P31"]
1837pub type KbscnP31ModeReg = crate::RegValueT<KbscnP31ModeReg_SPEC>;
1838
1839impl KbscnP31ModeReg {
1840 #[doc = "\'1\' GPIO is enable for row or column"]
1841 #[inline(always)]
1842 pub fn kbscn_gpio_en(
1843 self,
1844 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP31ModeReg_SPEC, crate::common::RW> {
1845 crate::common::RegisterFieldBool::<6,1,0,KbscnP31ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1846 }
1847
1848 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1849 #[inline(always)]
1850 pub fn kbscn_row(
1851 self,
1852 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP31ModeReg_SPEC, crate::common::RW> {
1853 crate::common::RegisterFieldBool::<5,1,0,KbscnP31ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1854 }
1855
1856 #[doc = "Defines the row/column index that has to be connected"]
1857 #[inline(always)]
1858 pub fn kbscn_mode(
1859 self,
1860 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP31ModeReg_SPEC, crate::common::RW>
1861 {
1862 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP31ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1863 }
1864}
1865impl ::core::default::Default for KbscnP31ModeReg {
1866 #[inline(always)]
1867 fn default() -> KbscnP31ModeReg {
1868 <crate::RegValueT<KbscnP31ModeReg_SPEC> as RegisterValue<_>>::new(0)
1869 }
1870}
1871
1872#[doc(hidden)]
1873#[derive(Copy, Clone, Eq, PartialEq)]
1874pub struct KbscnP32ModeReg_SPEC;
1875impl crate::sealed::RegSpec for KbscnP32ModeReg_SPEC {
1876 type DataType = u16;
1877}
1878
1879#[doc = "Defines the keyboard mode for P32"]
1880pub type KbscnP32ModeReg = crate::RegValueT<KbscnP32ModeReg_SPEC>;
1881
1882impl KbscnP32ModeReg {
1883 #[doc = "\'1\' GPIO is enable for row or column"]
1884 #[inline(always)]
1885 pub fn kbscn_gpio_en(
1886 self,
1887 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP32ModeReg_SPEC, crate::common::RW> {
1888 crate::common::RegisterFieldBool::<6,1,0,KbscnP32ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1889 }
1890
1891 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1892 #[inline(always)]
1893 pub fn kbscn_row(
1894 self,
1895 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP32ModeReg_SPEC, crate::common::RW> {
1896 crate::common::RegisterFieldBool::<5,1,0,KbscnP32ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1897 }
1898
1899 #[doc = "Defines the row/column index that has to be connected"]
1900 #[inline(always)]
1901 pub fn kbscn_mode(
1902 self,
1903 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP32ModeReg_SPEC, crate::common::RW>
1904 {
1905 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP32ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1906 }
1907}
1908impl ::core::default::Default for KbscnP32ModeReg {
1909 #[inline(always)]
1910 fn default() -> KbscnP32ModeReg {
1911 <crate::RegValueT<KbscnP32ModeReg_SPEC> as RegisterValue<_>>::new(0)
1912 }
1913}
1914
1915#[doc(hidden)]
1916#[derive(Copy, Clone, Eq, PartialEq)]
1917pub struct KbscnP33ModeReg_SPEC;
1918impl crate::sealed::RegSpec for KbscnP33ModeReg_SPEC {
1919 type DataType = u16;
1920}
1921
1922#[doc = "Defines the keyboard mode for P33"]
1923pub type KbscnP33ModeReg = crate::RegValueT<KbscnP33ModeReg_SPEC>;
1924
1925impl KbscnP33ModeReg {
1926 #[doc = "\'1\' GPIO is enable for row or column"]
1927 #[inline(always)]
1928 pub fn kbscn_gpio_en(
1929 self,
1930 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP33ModeReg_SPEC, crate::common::RW> {
1931 crate::common::RegisterFieldBool::<6,1,0,KbscnP33ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1932 }
1933
1934 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1935 #[inline(always)]
1936 pub fn kbscn_row(
1937 self,
1938 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP33ModeReg_SPEC, crate::common::RW> {
1939 crate::common::RegisterFieldBool::<5,1,0,KbscnP33ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1940 }
1941
1942 #[doc = "Defines the row/column index that has to be connected"]
1943 #[inline(always)]
1944 pub fn kbscn_mode(
1945 self,
1946 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP33ModeReg_SPEC, crate::common::RW>
1947 {
1948 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP33ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1949 }
1950}
1951impl ::core::default::Default for KbscnP33ModeReg {
1952 #[inline(always)]
1953 fn default() -> KbscnP33ModeReg {
1954 <crate::RegValueT<KbscnP33ModeReg_SPEC> as RegisterValue<_>>::new(0)
1955 }
1956}
1957
1958#[doc(hidden)]
1959#[derive(Copy, Clone, Eq, PartialEq)]
1960pub struct KbscnP34ModeReg_SPEC;
1961impl crate::sealed::RegSpec for KbscnP34ModeReg_SPEC {
1962 type DataType = u16;
1963}
1964
1965#[doc = "Defines the keyboard mode for P34"]
1966pub type KbscnP34ModeReg = crate::RegValueT<KbscnP34ModeReg_SPEC>;
1967
1968impl KbscnP34ModeReg {
1969 #[doc = "\'1\' GPIO is enable for row or column"]
1970 #[inline(always)]
1971 pub fn kbscn_gpio_en(
1972 self,
1973 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP34ModeReg_SPEC, crate::common::RW> {
1974 crate::common::RegisterFieldBool::<6,1,0,KbscnP34ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1975 }
1976
1977 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
1978 #[inline(always)]
1979 pub fn kbscn_row(
1980 self,
1981 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP34ModeReg_SPEC, crate::common::RW> {
1982 crate::common::RegisterFieldBool::<5,1,0,KbscnP34ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1983 }
1984
1985 #[doc = "Defines the row/column index that has to be connected"]
1986 #[inline(always)]
1987 pub fn kbscn_mode(
1988 self,
1989 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP34ModeReg_SPEC, crate::common::RW>
1990 {
1991 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP34ModeReg_SPEC,crate::common::RW>::from_register(self,0)
1992 }
1993}
1994impl ::core::default::Default for KbscnP34ModeReg {
1995 #[inline(always)]
1996 fn default() -> KbscnP34ModeReg {
1997 <crate::RegValueT<KbscnP34ModeReg_SPEC> as RegisterValue<_>>::new(0)
1998 }
1999}
2000
2001#[doc(hidden)]
2002#[derive(Copy, Clone, Eq, PartialEq)]
2003pub struct KbscnP35ModeReg_SPEC;
2004impl crate::sealed::RegSpec for KbscnP35ModeReg_SPEC {
2005 type DataType = u16;
2006}
2007
2008#[doc = "Defines the keyboard mode for P35"]
2009pub type KbscnP35ModeReg = crate::RegValueT<KbscnP35ModeReg_SPEC>;
2010
2011impl KbscnP35ModeReg {
2012 #[doc = "\'1\' GPIO is enable for row or column"]
2013 #[inline(always)]
2014 pub fn kbscn_gpio_en(
2015 self,
2016 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP35ModeReg_SPEC, crate::common::RW> {
2017 crate::common::RegisterFieldBool::<6,1,0,KbscnP35ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2018 }
2019
2020 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2021 #[inline(always)]
2022 pub fn kbscn_row(
2023 self,
2024 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP35ModeReg_SPEC, crate::common::RW> {
2025 crate::common::RegisterFieldBool::<5,1,0,KbscnP35ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2026 }
2027
2028 #[doc = "Defines the row/column index that has to be connected"]
2029 #[inline(always)]
2030 pub fn kbscn_mode(
2031 self,
2032 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP35ModeReg_SPEC, crate::common::RW>
2033 {
2034 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP35ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2035 }
2036}
2037impl ::core::default::Default for KbscnP35ModeReg {
2038 #[inline(always)]
2039 fn default() -> KbscnP35ModeReg {
2040 <crate::RegValueT<KbscnP35ModeReg_SPEC> as RegisterValue<_>>::new(0)
2041 }
2042}
2043
2044#[doc(hidden)]
2045#[derive(Copy, Clone, Eq, PartialEq)]
2046pub struct KbscnP36ModeReg_SPEC;
2047impl crate::sealed::RegSpec for KbscnP36ModeReg_SPEC {
2048 type DataType = u16;
2049}
2050
2051#[doc = "Defines the keyboard mode for P36"]
2052pub type KbscnP36ModeReg = crate::RegValueT<KbscnP36ModeReg_SPEC>;
2053
2054impl KbscnP36ModeReg {
2055 #[doc = "\'1\' GPIO is enable for row or column"]
2056 #[inline(always)]
2057 pub fn kbscn_gpio_en(
2058 self,
2059 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP36ModeReg_SPEC, crate::common::RW> {
2060 crate::common::RegisterFieldBool::<6,1,0,KbscnP36ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2061 }
2062
2063 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2064 #[inline(always)]
2065 pub fn kbscn_row(
2066 self,
2067 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP36ModeReg_SPEC, crate::common::RW> {
2068 crate::common::RegisterFieldBool::<5,1,0,KbscnP36ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2069 }
2070
2071 #[doc = "Defines the row/column index that has to be connected"]
2072 #[inline(always)]
2073 pub fn kbscn_mode(
2074 self,
2075 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP36ModeReg_SPEC, crate::common::RW>
2076 {
2077 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP36ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2078 }
2079}
2080impl ::core::default::Default for KbscnP36ModeReg {
2081 #[inline(always)]
2082 fn default() -> KbscnP36ModeReg {
2083 <crate::RegValueT<KbscnP36ModeReg_SPEC> as RegisterValue<_>>::new(0)
2084 }
2085}
2086
2087#[doc(hidden)]
2088#[derive(Copy, Clone, Eq, PartialEq)]
2089pub struct KbscnP37ModeReg_SPEC;
2090impl crate::sealed::RegSpec for KbscnP37ModeReg_SPEC {
2091 type DataType = u16;
2092}
2093
2094#[doc = "Defines the keyboard mode for P37"]
2095pub type KbscnP37ModeReg = crate::RegValueT<KbscnP37ModeReg_SPEC>;
2096
2097impl KbscnP37ModeReg {
2098 #[doc = "\'1\' GPIO is enable for row or column"]
2099 #[inline(always)]
2100 pub fn kbscn_gpio_en(
2101 self,
2102 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP37ModeReg_SPEC, crate::common::RW> {
2103 crate::common::RegisterFieldBool::<6,1,0,KbscnP37ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2104 }
2105
2106 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2107 #[inline(always)]
2108 pub fn kbscn_row(
2109 self,
2110 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP37ModeReg_SPEC, crate::common::RW> {
2111 crate::common::RegisterFieldBool::<5,1,0,KbscnP37ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2112 }
2113
2114 #[doc = "Defines the row/column index that has to be connected"]
2115 #[inline(always)]
2116 pub fn kbscn_mode(
2117 self,
2118 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP37ModeReg_SPEC, crate::common::RW>
2119 {
2120 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP37ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2121 }
2122}
2123impl ::core::default::Default for KbscnP37ModeReg {
2124 #[inline(always)]
2125 fn default() -> KbscnP37ModeReg {
2126 <crate::RegValueT<KbscnP37ModeReg_SPEC> as RegisterValue<_>>::new(0)
2127 }
2128}
2129
2130#[doc(hidden)]
2131#[derive(Copy, Clone, Eq, PartialEq)]
2132pub struct KbscnP40ModeReg_SPEC;
2133impl crate::sealed::RegSpec for KbscnP40ModeReg_SPEC {
2134 type DataType = u16;
2135}
2136
2137#[doc = "Defines the keyboard mode for P40"]
2138pub type KbscnP40ModeReg = crate::RegValueT<KbscnP40ModeReg_SPEC>;
2139
2140impl KbscnP40ModeReg {
2141 #[doc = "\'1\' GPIO is enable for row or column"]
2142 #[inline(always)]
2143 pub fn kbscn_gpio_en(
2144 self,
2145 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP40ModeReg_SPEC, crate::common::RW> {
2146 crate::common::RegisterFieldBool::<6,1,0,KbscnP40ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2147 }
2148
2149 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2150 #[inline(always)]
2151 pub fn kbscn_row(
2152 self,
2153 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP40ModeReg_SPEC, crate::common::RW> {
2154 crate::common::RegisterFieldBool::<5,1,0,KbscnP40ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2155 }
2156
2157 #[doc = "Defines the row/column index that has to be connected"]
2158 #[inline(always)]
2159 pub fn kbscn_mode(
2160 self,
2161 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP40ModeReg_SPEC, crate::common::RW>
2162 {
2163 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP40ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2164 }
2165}
2166impl ::core::default::Default for KbscnP40ModeReg {
2167 #[inline(always)]
2168 fn default() -> KbscnP40ModeReg {
2169 <crate::RegValueT<KbscnP40ModeReg_SPEC> as RegisterValue<_>>::new(0)
2170 }
2171}
2172
2173#[doc(hidden)]
2174#[derive(Copy, Clone, Eq, PartialEq)]
2175pub struct KbscnP41ModeReg_SPEC;
2176impl crate::sealed::RegSpec for KbscnP41ModeReg_SPEC {
2177 type DataType = u16;
2178}
2179
2180#[doc = "Defines the keyboard mode for P41"]
2181pub type KbscnP41ModeReg = crate::RegValueT<KbscnP41ModeReg_SPEC>;
2182
2183impl KbscnP41ModeReg {
2184 #[doc = "\'1\' GPIO is enable for row or column"]
2185 #[inline(always)]
2186 pub fn kbscn_gpio_en(
2187 self,
2188 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP41ModeReg_SPEC, crate::common::RW> {
2189 crate::common::RegisterFieldBool::<6,1,0,KbscnP41ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2190 }
2191
2192 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2193 #[inline(always)]
2194 pub fn kbscn_row(
2195 self,
2196 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP41ModeReg_SPEC, crate::common::RW> {
2197 crate::common::RegisterFieldBool::<5,1,0,KbscnP41ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2198 }
2199
2200 #[doc = "Defines the row/column index that has to be connected"]
2201 #[inline(always)]
2202 pub fn kbscn_mode(
2203 self,
2204 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP41ModeReg_SPEC, crate::common::RW>
2205 {
2206 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP41ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2207 }
2208}
2209impl ::core::default::Default for KbscnP41ModeReg {
2210 #[inline(always)]
2211 fn default() -> KbscnP41ModeReg {
2212 <crate::RegValueT<KbscnP41ModeReg_SPEC> as RegisterValue<_>>::new(0)
2213 }
2214}
2215
2216#[doc(hidden)]
2217#[derive(Copy, Clone, Eq, PartialEq)]
2218pub struct KbscnP42ModeReg_SPEC;
2219impl crate::sealed::RegSpec for KbscnP42ModeReg_SPEC {
2220 type DataType = u16;
2221}
2222
2223#[doc = "Defines the keyboard mode for P42"]
2224pub type KbscnP42ModeReg = crate::RegValueT<KbscnP42ModeReg_SPEC>;
2225
2226impl KbscnP42ModeReg {
2227 #[doc = "\'1\' GPIO is enable for row or column"]
2228 #[inline(always)]
2229 pub fn kbscn_gpio_en(
2230 self,
2231 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP42ModeReg_SPEC, crate::common::RW> {
2232 crate::common::RegisterFieldBool::<6,1,0,KbscnP42ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2233 }
2234
2235 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2236 #[inline(always)]
2237 pub fn kbscn_row(
2238 self,
2239 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP42ModeReg_SPEC, crate::common::RW> {
2240 crate::common::RegisterFieldBool::<5,1,0,KbscnP42ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2241 }
2242
2243 #[doc = "Defines the row/column index that has to be connected"]
2244 #[inline(always)]
2245 pub fn kbscn_mode(
2246 self,
2247 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP42ModeReg_SPEC, crate::common::RW>
2248 {
2249 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP42ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2250 }
2251}
2252impl ::core::default::Default for KbscnP42ModeReg {
2253 #[inline(always)]
2254 fn default() -> KbscnP42ModeReg {
2255 <crate::RegValueT<KbscnP42ModeReg_SPEC> as RegisterValue<_>>::new(0)
2256 }
2257}
2258
2259#[doc(hidden)]
2260#[derive(Copy, Clone, Eq, PartialEq)]
2261pub struct KbscnP43ModeReg_SPEC;
2262impl crate::sealed::RegSpec for KbscnP43ModeReg_SPEC {
2263 type DataType = u16;
2264}
2265
2266#[doc = "Defines the keyboard mode for P43"]
2267pub type KbscnP43ModeReg = crate::RegValueT<KbscnP43ModeReg_SPEC>;
2268
2269impl KbscnP43ModeReg {
2270 #[doc = "\'1\' GPIO is enable for row or column"]
2271 #[inline(always)]
2272 pub fn kbscn_gpio_en(
2273 self,
2274 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP43ModeReg_SPEC, crate::common::RW> {
2275 crate::common::RegisterFieldBool::<6,1,0,KbscnP43ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2276 }
2277
2278 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2279 #[inline(always)]
2280 pub fn kbscn_row(
2281 self,
2282 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP43ModeReg_SPEC, crate::common::RW> {
2283 crate::common::RegisterFieldBool::<5,1,0,KbscnP43ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2284 }
2285
2286 #[doc = "Defines the row/column index that has to be connected"]
2287 #[inline(always)]
2288 pub fn kbscn_mode(
2289 self,
2290 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP43ModeReg_SPEC, crate::common::RW>
2291 {
2292 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP43ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2293 }
2294}
2295impl ::core::default::Default for KbscnP43ModeReg {
2296 #[inline(always)]
2297 fn default() -> KbscnP43ModeReg {
2298 <crate::RegValueT<KbscnP43ModeReg_SPEC> as RegisterValue<_>>::new(0)
2299 }
2300}
2301
2302#[doc(hidden)]
2303#[derive(Copy, Clone, Eq, PartialEq)]
2304pub struct KbscnP44ModeReg_SPEC;
2305impl crate::sealed::RegSpec for KbscnP44ModeReg_SPEC {
2306 type DataType = u16;
2307}
2308
2309#[doc = "Defines the keyboard mode for P44"]
2310pub type KbscnP44ModeReg = crate::RegValueT<KbscnP44ModeReg_SPEC>;
2311
2312impl KbscnP44ModeReg {
2313 #[doc = "\'1\' GPIO is enable for row or column"]
2314 #[inline(always)]
2315 pub fn kbscn_gpio_en(
2316 self,
2317 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP44ModeReg_SPEC, crate::common::RW> {
2318 crate::common::RegisterFieldBool::<6,1,0,KbscnP44ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2319 }
2320
2321 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2322 #[inline(always)]
2323 pub fn kbscn_row(
2324 self,
2325 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP44ModeReg_SPEC, crate::common::RW> {
2326 crate::common::RegisterFieldBool::<5,1,0,KbscnP44ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2327 }
2328
2329 #[doc = "Defines the row/column index that has to be connected"]
2330 #[inline(always)]
2331 pub fn kbscn_mode(
2332 self,
2333 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP44ModeReg_SPEC, crate::common::RW>
2334 {
2335 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP44ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2336 }
2337}
2338impl ::core::default::Default for KbscnP44ModeReg {
2339 #[inline(always)]
2340 fn default() -> KbscnP44ModeReg {
2341 <crate::RegValueT<KbscnP44ModeReg_SPEC> as RegisterValue<_>>::new(0)
2342 }
2343}
2344
2345#[doc(hidden)]
2346#[derive(Copy, Clone, Eq, PartialEq)]
2347pub struct KbscnP45ModeReg_SPEC;
2348impl crate::sealed::RegSpec for KbscnP45ModeReg_SPEC {
2349 type DataType = u16;
2350}
2351
2352#[doc = "Defines the keyboard mode for P45"]
2353pub type KbscnP45ModeReg = crate::RegValueT<KbscnP45ModeReg_SPEC>;
2354
2355impl KbscnP45ModeReg {
2356 #[doc = "\'1\' GPIO is enable for row or column"]
2357 #[inline(always)]
2358 pub fn kbscn_gpio_en(
2359 self,
2360 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP45ModeReg_SPEC, crate::common::RW> {
2361 crate::common::RegisterFieldBool::<6,1,0,KbscnP45ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2362 }
2363
2364 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2365 #[inline(always)]
2366 pub fn kbscn_row(
2367 self,
2368 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP45ModeReg_SPEC, crate::common::RW> {
2369 crate::common::RegisterFieldBool::<5,1,0,KbscnP45ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2370 }
2371
2372 #[doc = "Defines the row/column index that has to be connected"]
2373 #[inline(always)]
2374 pub fn kbscn_mode(
2375 self,
2376 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP45ModeReg_SPEC, crate::common::RW>
2377 {
2378 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP45ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2379 }
2380}
2381impl ::core::default::Default for KbscnP45ModeReg {
2382 #[inline(always)]
2383 fn default() -> KbscnP45ModeReg {
2384 <crate::RegValueT<KbscnP45ModeReg_SPEC> as RegisterValue<_>>::new(0)
2385 }
2386}
2387
2388#[doc(hidden)]
2389#[derive(Copy, Clone, Eq, PartialEq)]
2390pub struct KbscnP46ModeReg_SPEC;
2391impl crate::sealed::RegSpec for KbscnP46ModeReg_SPEC {
2392 type DataType = u16;
2393}
2394
2395#[doc = "Defines the keyboard mode for P46"]
2396pub type KbscnP46ModeReg = crate::RegValueT<KbscnP46ModeReg_SPEC>;
2397
2398impl KbscnP46ModeReg {
2399 #[doc = "\'1\' GPIO is enable for row or column"]
2400 #[inline(always)]
2401 pub fn kbscn_gpio_en(
2402 self,
2403 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP46ModeReg_SPEC, crate::common::RW> {
2404 crate::common::RegisterFieldBool::<6,1,0,KbscnP46ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2405 }
2406
2407 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2408 #[inline(always)]
2409 pub fn kbscn_row(
2410 self,
2411 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP46ModeReg_SPEC, crate::common::RW> {
2412 crate::common::RegisterFieldBool::<5,1,0,KbscnP46ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2413 }
2414
2415 #[doc = "Defines the row/column index that has to be connected"]
2416 #[inline(always)]
2417 pub fn kbscn_mode(
2418 self,
2419 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP46ModeReg_SPEC, crate::common::RW>
2420 {
2421 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP46ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2422 }
2423}
2424impl ::core::default::Default for KbscnP46ModeReg {
2425 #[inline(always)]
2426 fn default() -> KbscnP46ModeReg {
2427 <crate::RegValueT<KbscnP46ModeReg_SPEC> as RegisterValue<_>>::new(0)
2428 }
2429}
2430
2431#[doc(hidden)]
2432#[derive(Copy, Clone, Eq, PartialEq)]
2433pub struct KbscnP47ModeReg_SPEC;
2434impl crate::sealed::RegSpec for KbscnP47ModeReg_SPEC {
2435 type DataType = u16;
2436}
2437
2438#[doc = "Defines the keyboard mode for P47"]
2439pub type KbscnP47ModeReg = crate::RegValueT<KbscnP47ModeReg_SPEC>;
2440
2441impl KbscnP47ModeReg {
2442 #[doc = "\'1\' GPIO is enable for row or column"]
2443 #[inline(always)]
2444 pub fn kbscn_gpio_en(
2445 self,
2446 ) -> crate::common::RegisterFieldBool<6, 1, 0, KbscnP47ModeReg_SPEC, crate::common::RW> {
2447 crate::common::RegisterFieldBool::<6,1,0,KbscnP47ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2448 }
2449
2450 #[doc = "\'1\' GPIO is row, \'0\' GPIO is column"]
2451 #[inline(always)]
2452 pub fn kbscn_row(
2453 self,
2454 ) -> crate::common::RegisterFieldBool<5, 1, 0, KbscnP47ModeReg_SPEC, crate::common::RW> {
2455 crate::common::RegisterFieldBool::<5,1,0,KbscnP47ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2456 }
2457
2458 #[doc = "Defines the row/column index that has to be connected"]
2459 #[inline(always)]
2460 pub fn kbscn_mode(
2461 self,
2462 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, KbscnP47ModeReg_SPEC, crate::common::RW>
2463 {
2464 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,KbscnP47ModeReg_SPEC,crate::common::RW>::from_register(self,0)
2465 }
2466}
2467impl ::core::default::Default for KbscnP47ModeReg {
2468 #[inline(always)]
2469 fn default() -> KbscnP47ModeReg {
2470 <crate::RegValueT<KbscnP47ModeReg_SPEC> as RegisterValue<_>>::new(0)
2471 }
2472}
2473
2474#[doc(hidden)]
2475#[derive(Copy, Clone, Eq, PartialEq)]
2476pub struct KbscnStatusReg_SPEC;
2477impl crate::sealed::RegSpec for KbscnStatusReg_SPEC {
2478 type DataType = u16;
2479}
2480
2481#[doc = "keyboard scanner Interrupt status register"]
2482pub type KbscnStatusReg = crate::RegValueT<KbscnStatusReg_SPEC>;
2483
2484impl KbscnStatusReg {
2485 #[doc = "\'1\' Fifo Underflow occurred"]
2486 #[inline(always)]
2487 pub fn kbscn_fifo_underfl(
2488 self,
2489 ) -> crate::common::RegisterFieldBool<8, 1, 0, KbscnStatusReg_SPEC, crate::common::R> {
2490 crate::common::RegisterFieldBool::<8,1,0,KbscnStatusReg_SPEC,crate::common::R>::from_register(self,0)
2491 }
2492
2493 #[doc = "\'1\' Fifo Overflow occurred"]
2494 #[inline(always)]
2495 pub fn kbscn_fifo_overfl(
2496 self,
2497 ) -> crate::common::RegisterFieldBool<7, 1, 0, KbscnStatusReg_SPEC, crate::common::R> {
2498 crate::common::RegisterFieldBool::<7,1,0,KbscnStatusReg_SPEC,crate::common::R>::from_register(self,0)
2499 }
2500
2501 #[doc = "Defines how many messages there are in the fifo."]
2502 #[inline(always)]
2503 pub fn kbscn_num_message(
2504 self,
2505 ) -> crate::common::RegisterField<2, 0x1f, 1, 0, u8, u8, KbscnStatusReg_SPEC, crate::common::R>
2506 {
2507 crate::common::RegisterField::<2,0x1f,1,0,u8,u8,KbscnStatusReg_SPEC,crate::common::R>::from_register(self,0)
2508 }
2509
2510 #[doc = "There is no keyboard activity for a predefined time"]
2511 #[inline(always)]
2512 pub fn kbscn_inactive_irq_status(
2513 self,
2514 ) -> crate::common::RegisterFieldBool<1, 1, 0, KbscnStatusReg_SPEC, crate::common::R> {
2515 crate::common::RegisterFieldBool::<1,1,0,KbscnStatusReg_SPEC,crate::common::R>::from_register(self,0)
2516 }
2517
2518 #[doc = "There is at least one last message in the fifo."]
2519 #[inline(always)]
2520 pub fn kbscn_mes_irq_status(
2521 self,
2522 ) -> crate::common::RegisterFieldBool<0, 1, 0, KbscnStatusReg_SPEC, crate::common::R> {
2523 crate::common::RegisterFieldBool::<0,1,0,KbscnStatusReg_SPEC,crate::common::R>::from_register(self,0)
2524 }
2525}
2526impl ::core::default::Default for KbscnStatusReg {
2527 #[inline(always)]
2528 fn default() -> KbscnStatusReg {
2529 <crate::RegValueT<KbscnStatusReg_SPEC> as RegisterValue<_>>::new(0)
2530 }
2531}