MCPcopy Create free account
hub / github.com/SmingHub/Sming / twi_setClock

Function twi_setClock

Sming/Core/si2c.cpp:135–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133} // namespace
134
135void twi_setClock(uint32_t freq)
136{
137 auto sys = System.getCpuFrequency();
138 if(sys == eCF_80MHz) {
139 if(freq <= 100000) {
140 twi_dcount = 16; //about 100KHz
141 } else if(freq <= 200000) {
142 twi_dcount = 5; //about 200KHz
143 } else if(freq <= 300000) {
144 twi_dcount = 2; //about 300KHz
145 } else {
146 twi_dcount = 0; //about 400KHz
147 }
148 } else { // Assume eCF_160MHz
149 if(freq <= 100000) {
150 twi_dcount = 28; //about 100KHz
151 } else if(freq <= 200000) {
152 twi_dcount = 12; //about 200KHz
153 } else if(freq <= 300000) {
154 twi_dcount = 5; //about 300KHz
155 } else if(freq <= 400000) {
156 twi_dcount = 3; //about 400KHz
157 } else if(freq <= 500000) {
158 twi_dcount = 1; //about 500KHz
159 } else {
160 twi_dcount = 0; //about 600KHz
161 }
162 }
163}
164
165void twi_setClockStretchLimit(uint32_t limit)
166{

Callers 1

twi_initFunction · 0.85

Calls 1

getCpuFrequencyMethod · 0.80

Tested by

no test coverage detected