@@ -284,164 +284,93 @@ impl<'d> Camera<'d> {
284284 self
285285 }
286286
287- /// Configures the DATA 0 pin for the camera interface.
288- pub fn with_data0 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
287+ fn with_data_pin ( self , signal : InputSignal , pin : impl PeripheralInput < ' d > ) -> Self {
289288 let pin = pin. into ( ) ;
290289
291290 pin. init_input ( Pull :: None ) ;
292- InputSignal :: CAM_DATA_0 . connect_to ( & pin) ;
291+ signal . connect_to ( & pin) ;
293292
294293 self
295294 }
296295
296+ /// Configures the DATA 0 pin for the camera interface.
297+ pub fn with_data0 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
298+ self . with_data_pin ( InputSignal :: CAM_DATA_0 , pin)
299+ }
300+
297301 /// Configures the DATA 1 pin for the camera interface.
298302 pub fn with_data1 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
299- let pin = pin. into ( ) ;
300-
301- pin. init_input ( Pull :: None ) ;
302- InputSignal :: CAM_DATA_1 . connect_to ( & pin) ;
303-
304- self
303+ self . with_data_pin ( InputSignal :: CAM_DATA_1 , pin)
305304 }
306305
307306 /// Configures the DATA 2 pin for the camera interface.
308307 pub fn with_data2 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
309- let pin = pin. into ( ) ;
310-
311- pin. init_input ( Pull :: None ) ;
312- InputSignal :: CAM_DATA_2 . connect_to ( & pin) ;
313-
314- self
308+ self . with_data_pin ( InputSignal :: CAM_DATA_2 , pin)
315309 }
316310
317311 /// Configures the DATA 3 pin for the camera interface.
318312 pub fn with_data3 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
319- let pin = pin. into ( ) ;
320-
321- pin. init_input ( Pull :: None ) ;
322- InputSignal :: CAM_DATA_3 . connect_to ( & pin) ;
323-
324- self
313+ self . with_data_pin ( InputSignal :: CAM_DATA_3 , pin)
325314 }
326315
327316 /// Configures the DATA 4 pin for the camera interface.
328317 pub fn with_data4 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
329- let pin = pin. into ( ) ;
330-
331- pin. init_input ( Pull :: None ) ;
332- InputSignal :: CAM_DATA_4 . connect_to ( & pin) ;
333-
334- self
318+ self . with_data_pin ( InputSignal :: CAM_DATA_4 , pin)
335319 }
336320
337321 /// Configures the DATA 5 pin for the camera interface.
338322 pub fn with_data5 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
339- let pin = pin. into ( ) ;
340-
341- pin. init_input ( Pull :: None ) ;
342- InputSignal :: CAM_DATA_5 . connect_to ( & pin) ;
343-
344- self
323+ self . with_data_pin ( InputSignal :: CAM_DATA_5 , pin)
345324 }
346325
347326 /// Configures the DATA 6 pin for the camera interface.
348327 pub fn with_data6 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
349- let pin = pin. into ( ) ;
350-
351- pin. init_input ( Pull :: None ) ;
352- InputSignal :: CAM_DATA_6 . connect_to ( & pin) ;
353-
354- self
328+ self . with_data_pin ( InputSignal :: CAM_DATA_6 , pin)
355329 }
356330
357331 /// Configures the DATA 7 pin for the camera interface.
358332 pub fn with_data7 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
359- let pin = pin. into ( ) ;
360-
361- pin. init_input ( Pull :: None ) ;
362- InputSignal :: CAM_DATA_7 . connect_to ( & pin) ;
363-
364- self
333+ self . with_data_pin ( InputSignal :: CAM_DATA_7 , pin)
365334 }
366335
367336 /// Configures the DATA 8 pin for the camera interface.
368337 pub fn with_data8 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
369- let pin = pin. into ( ) ;
370-
371- pin. init_input ( Pull :: None ) ;
372- InputSignal :: CAM_DATA_8 . connect_to ( & pin) ;
373-
374- self
338+ self . with_data_pin ( InputSignal :: CAM_DATA_8 , pin)
375339 }
376340
377341 /// Configures the DATA 9 pin for the camera interface.
378342 pub fn with_data9 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
379- let pin = pin. into ( ) ;
380-
381- pin. init_input ( Pull :: None ) ;
382- InputSignal :: CAM_DATA_9 . connect_to ( & pin) ;
383-
384- self
343+ self . with_data_pin ( InputSignal :: CAM_DATA_9 , pin)
385344 }
386345
387346 /// Configures the DATA 10 pin for the camera interface.
388347 pub fn with_data10 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
389- let pin = pin. into ( ) ;
390-
391- pin. init_input ( Pull :: None ) ;
392- InputSignal :: CAM_DATA_10 . connect_to ( & pin) ;
393-
394- self
348+ self . with_data_pin ( InputSignal :: CAM_DATA_10 , pin)
395349 }
396350
397351 /// Configures the DATA 11 pin for the camera interface.
398352 pub fn with_data11 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
399- let pin = pin. into ( ) ;
400-
401- pin. init_input ( Pull :: None ) ;
402- InputSignal :: CAM_DATA_11 . connect_to ( & pin) ;
403-
404- self
353+ self . with_data_pin ( InputSignal :: CAM_DATA_11 , pin)
405354 }
406355
407356 /// Configures the DATA 12 pin for the camera interface.
408357 pub fn with_data12 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
409- let pin = pin. into ( ) ;
410-
411- pin. init_input ( Pull :: None ) ;
412- InputSignal :: CAM_DATA_12 . connect_to ( & pin) ;
413-
414- self
358+ self . with_data_pin ( InputSignal :: CAM_DATA_12 , pin)
415359 }
416360
417361 /// Configures the DATA 13 pin for the camera interface.
418362 pub fn with_data13 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
419- let pin = pin. into ( ) ;
420-
421- pin. init_input ( Pull :: None ) ;
422- InputSignal :: CAM_DATA_13 . connect_to ( & pin) ;
423-
424- self
363+ self . with_data_pin ( InputSignal :: CAM_DATA_13 , pin)
425364 }
426365
427366 /// Configures the DATA 14 pin for the camera interface.
428367 pub fn with_data14 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
429- let pin = pin. into ( ) ;
430-
431- pin. init_input ( Pull :: None ) ;
432- InputSignal :: CAM_DATA_14 . connect_to ( & pin) ;
433-
434- self
368+ self . with_data_pin ( InputSignal :: CAM_DATA_14 , pin)
435369 }
436370
437371 /// Configures the DATA 15 pin for the camera interface.
438372 pub fn with_data15 ( self , pin : impl PeripheralInput < ' d > ) -> Self {
439- let pin = pin. into ( ) ;
440-
441- pin. init_input ( Pull :: None ) ;
442- InputSignal :: CAM_DATA_15 . connect_to ( & pin) ;
443-
444- self
373+ self . with_data_pin ( InputSignal :: CAM_DATA_15 , pin)
445374 }
446375
447376 /// Starts a DMA transfer to receive data from the camera peripheral.
0 commit comments