PikaStdDevice_IIC.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "PikaStdDevice_IIC.h"
  2. #include "PikaStdDevice_common.h"
  3. void PikaStdDevice_IIC_init(PikaObj* self) {
  4. obj_setInt(self, "deviceAddr", 0);
  5. obj_setStr(self, "SCLpin", "PA0");
  6. obj_setStr(self, "SDApin", "PA1");
  7. }
  8. void PikaStdDevice_IIC___init__(PikaObj* self) {
  9. PikaStdDevice_IIC_init(self);
  10. }
  11. void PikaStdDevice_IIC_enable(PikaObj* self) {}
  12. void PikaStdDevice_IIC_disable(PikaObj* self) {}
  13. void PikaStdDevice_IIC_setDeviceAddr(PikaObj* self, int addr) {
  14. obj_setInt(self, "deviceAddr", addr);
  15. }
  16. void PikaStdDevice_IIC_setPinSCL(PikaObj* self, char* pin) {
  17. obj_setStr(self, "SCLpin", pin);
  18. }
  19. void PikaStdDevice_IIC_setPinSDA(PikaObj* self, char* pin) {
  20. obj_setStr(self, "SDApin", pin);
  21. }
  22. void PikaStdDevice_IIC_write(PikaObj* self, int addr, char* data) {
  23. obj_setStr(self, "writeData", data);
  24. obj_setInt(self, "writeAddr", addr);
  25. }
  26. void PikaStdDevice_IIC_writeBytes(PikaObj* self,
  27. int addr,
  28. uint8_t* data,
  29. int length) {
  30. obj_setBytes(self, "writeData", data, length);
  31. obj_setInt(self, "writeAddr", addr);
  32. }
  33. char* PikaStdDevice_IIC_read(PikaObj* self, int addr, int length) {
  34. obj_setInt(self, "length", length);
  35. obj_setInt(self, "readAddr", addr);
  36. return obj_getStr(self, "readData");
  37. }
  38. Arg* PikaStdDevice_IIC_readBytes(PikaObj* self, int addr, int length) {
  39. obj_setInt(self, "length", length);
  40. obj_setInt(self, "readAddr", addr);
  41. return arg_copy(obj_getArg(self, "readData"));
  42. }