You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							790 B
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							790 B
						
					
					
				| extern "C" {
 | |
| 	#include <Wire/Wire.h>
 | |
| }
 | |
| 
 | |
| #include "../global.h"
 | |
| #include "../configs/ds1803/ds1803.h"
 | |
| #include "ds1803.h"
 | |
| 
 | |
| DS1803::DS1803()
 | |
| {
 | |
| #ifdef WIRE_LIB_SCAN_MOD
 | |
| 	/*if (!Wire.isStarted())*/ Wire.begin();
 | |
| #else
 | |
| 	Wire.begin();
 | |
| #endif
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Instantiate the object
 | |
| **/
 | |
| DS1803 DPOT = DS1803();
 | |
| 
 | |
| void DS1803::setWiper(uint8_t value, uint8_t wiperAddr)
 | |
| {
 | |
| 	if (!Wire.checkAddress(DS1803_ADDR)) return;
 | |
| 	
 | |
| 	Wire.beginTransmission(DS1803_ADDR);
 | |
| 	Wire.send(wiperAddr); // Send the wiper address
 | |
| 	
 | |
| 	Wire.send(value);
 | |
| 	
 | |
| 	Wire.endTransmission();
 | |
| }
 | |
| 
 | |
| #ifdef DS1803_USE_GET_VALUE_FUNC
 | |
| uint8_t DS1803::getValue()
 | |
| {
 | |
| 	if (!Wire.checkAddress(DS1803_ADDR)) return;
 | |
| 	
 | |
| 	Wire.requestFrom(DS1803_ADDR, 2);
 | |
| 	
 | |
| 	while (Wire.available()) {
 | |
| 		Serial.println((uint8_t)Wire.receive(), DEC);
 | |
| 	}
 | |
| 	
 | |
| 	return 0;
 | |
| }
 | |
| #endif
 |