MCPcopy Create free account
hub / github.com/RobTillaart/Arduino / begin

Method begin

libraries/AD985X/AD985X.cpp:34–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32
33
34void AD9850::begin(uint8_t select, uint8_t resetPin, uint8_t FQUDPin, uint8_t dataOut , uint8_t clock)
35{
36 _select = select;
37 _reset = resetPin;
38 _fqud = FQUDPin;
39 _dataOut = dataOut;
40 _clock = clock;
41 // following 3 are always set.
42 pinMode(_select, OUTPUT);
43 pinMode(_reset, OUTPUT);
44 pinMode(_fqud, OUTPUT);
45 // device select = HIGH See - https://github.com/RobTillaart/AD985X/issues/13
46 digitalWrite(_select, LOW);
47 digitalWrite(_reset, LOW);
48 digitalWrite(_fqud, LOW);
49
50 _hwSPI = ((dataOut == 0) || (clock == 0));
51
52 _spi_settings = SPISettings(2000000, LSBFIRST, SPI_MODE0);
53
54 if (_hwSPI)
55 {
56 #if defined(ESP32)
57 if (_useHSPI) // HSPI
58 {
59 mySPI = new SPIClass(HSPI);
60 mySPI->end();
61 mySPI->begin(14, 12, 13, select); // CLK=14 MISO=12 MOSI=13
62 }
63 else // VSPI
64 {
65 mySPI = new SPIClass(VSPI);
66 mySPI->end();
67 mySPI->begin(18, 19, 23, select); // CLK=18 MISO=19 MOSI=23
68 }
69 #else // generic hardware SPI
70 mySPI = &SPI;
71 mySPI->end();
72 mySPI->begin();
73 #endif
74 }
75 else // software SPI
76 {
77 pinMode(_dataOut, OUTPUT);
78 pinMode(_clock, OUTPUT);
79 digitalWrite(_dataOut, LOW);
80 digitalWrite(_clock, LOW);
81 }
82
83 reset();
84}
85
86
87#if defined(ESP32)

Callers 2

setGPIOpinsMethod · 0.45
unittestFunction · 0.45

Calls

no outgoing calls

Tested by 1

unittestFunction · 0.36