@@ -345,9 +345,9 @@ refint_input!(COMP1, COMP2, COMP3, COMP4,);
345
345
) ) ]
346
346
refint_input ! ( COMP5 , COMP6 , COMP7 , ) ;
347
347
348
- macro_rules! dac_input {
349
- ( $COMP: ident: $channel: ty , $bits: expr) => {
350
- impl <const MODE : u8 , ED > NegativeInput <$COMP> for & $channel {
348
+ macro_rules! dac_input_helper {
349
+ ( $COMP: ident: $channel: ident , $MODE : ident , $bits: expr) => {
350
+ impl <ED > NegativeInput <$COMP> for & dac :: $channel< { dac :: $MODE } , ED > {
351
351
const USE_VREFINT : bool = false ;
352
352
353
353
fn use_resistor_divider( & self ) -> bool {
@@ -361,62 +361,69 @@ macro_rules! dac_input {
361
361
} ;
362
362
}
363
363
364
- dac_input ! ( COMP1 : dac:: Dac3Ch1 <MODE , ED >, 0b100 ) ;
365
- dac_input ! ( COMP1 : dac:: Dac1Ch1 <MODE , ED >, 0b101 ) ;
364
+ macro_rules! dac_input {
365
+ ( $COMP: ident: $channel: ident, $bits: expr) => {
366
+ dac_input_helper!( $COMP: $channel, M_MIX_SIG , $bits) ;
367
+ dac_input_helper!( $COMP: $channel, M_INT_SIG , $bits) ;
368
+ } ;
369
+ }
370
+
371
+ dac_input ! ( COMP1 : Dac3Ch1 , 0b100 ) ;
372
+ dac_input ! ( COMP1 : Dac1Ch1 , 0b101 ) ;
366
373
367
- dac_input ! ( COMP2 : dac :: Dac3Ch2 < MODE , ED > , 0b100 ) ;
368
- dac_input ! ( COMP2 : dac :: Dac1Ch2 < MODE , ED > , 0b101 ) ;
374
+ dac_input ! ( COMP2 : Dac3Ch2 , 0b100 ) ;
375
+ dac_input ! ( COMP2 : Dac1Ch2 , 0b101 ) ;
369
376
370
- dac_input ! ( COMP3 : dac :: Dac3Ch1 < MODE , ED > , 0b100 ) ;
371
- dac_input ! ( COMP3 : dac :: Dac1Ch1 < MODE , ED > , 0b101 ) ;
377
+ dac_input ! ( COMP3 : Dac3Ch1 , 0b100 ) ;
378
+ dac_input ! ( COMP3 : Dac1Ch1 , 0b101 ) ;
372
379
373
- dac_input ! ( COMP4 : dac :: Dac3Ch2 < MODE , ED > , 0b100 ) ;
374
- dac_input ! ( COMP4 : dac :: Dac1Ch1 < MODE , ED > , 0b101 ) ;
380
+ dac_input ! ( COMP4 : Dac3Ch2 , 0b100 ) ;
381
+ dac_input ! ( COMP4 : Dac1Ch1 , 0b101 ) ;
375
382
376
383
#[ cfg( any(
377
384
feature = "stm32g473" ,
378
385
feature = "stm32g483" ,
379
386
feature = "stm32g474" ,
380
387
feature = "stm32g484"
381
388
) ) ]
382
- dac_input ! ( COMP5 : dac :: Dac4Ch1 < MODE , ED > , 0b100 ) ;
389
+ dac_input ! ( COMP5 : Dac4Ch1 , 0b100 ) ;
383
390
#[ cfg( any(
384
391
feature = "stm32g473" ,
385
392
feature = "stm32g483" ,
386
393
feature = "stm32g474" ,
387
394
feature = "stm32g484"
388
395
) ) ]
389
- dac_input ! ( COMP5 : dac :: Dac1Ch2 < MODE , ED > , 0b101 ) ;
396
+ dac_input ! ( COMP5 : Dac1Ch2 , 0b101 ) ;
390
397
391
398
#[ cfg( any(
392
399
feature = "stm32g473" ,
393
400
feature = "stm32g483" ,
394
401
feature = "stm32g474" ,
395
402
feature = "stm32g484"
396
403
) ) ]
397
- dac_input ! ( COMP6 : dac :: Dac4Ch2 < MODE , ED > , 0b100 ) ;
404
+ dac_input ! ( COMP6 : Dac4Ch2 , 0b100 ) ;
398
405
#[ cfg( any(
399
406
feature = "stm32g473" ,
400
407
feature = "stm32g483" ,
401
408
feature = "stm32g474" ,
402
409
feature = "stm32g484"
403
410
) ) ]
404
- dac_input ! ( COMP6 : dac :: Dac2Ch1 < MODE , ED > , 0b101 ) ;
411
+ dac_input ! ( COMP6 : Dac2Ch1 , 0b101 ) ;
405
412
406
413
#[ cfg( any(
407
414
feature = "stm32g473" ,
408
415
feature = "stm32g483" ,
409
416
feature = "stm32g474" ,
410
417
feature = "stm32g484"
411
418
) ) ]
412
- dac_input ! ( COMP7 : dac :: Dac4Ch1 < MODE , ED > , 0b100 ) ;
419
+ dac_input ! ( COMP7 : Dac4Ch1 , 0b100 ) ;
413
420
#[ cfg( any(
414
421
feature = "stm32g473" ,
415
422
feature = "stm32g483" ,
416
423
feature = "stm32g474" ,
417
424
feature = "stm32g484"
418
425
) ) ]
419
- dac_input ! ( COMP7 : dac :: Dac2Ch1 < MODE , ED > , 0b101 ) ;
426
+ dac_input ! ( COMP7 : Dac2Ch1 , 0b101 ) ;
420
427
421
428
pub struct Comparator < C , ED > {
422
429
regs : C ,
0 commit comments