Add ADC
Dependencies: Adafruit_GFX MbedJSONValue_v102 WIZnetInterface mbed
Fork of WIZwiki-REST-io_v101 by
Revision 5:473a66ae9596, committed 2016-07-04
- Comitter:
- joon874
- Date:
- Mon Jul 04 00:14:31 2016 +0000
- Parent:
- 4:0b5a199e91f3
- Child:
- 6:2974bbc94e7a
- Commit message:
- This is WIZwiki-REST-io upper version. This platform possible to handle PWM, I2C, GPIO.
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adafruit_GFX.lib Mon Jul 04 00:14:31 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/eunkyoungkim/code/Adafruit_GFX/#beff890cf659
--- a/RequestHandler.cpp Tue May 31 10:31:30 2016 +0000
+++ b/RequestHandler.cpp Mon Jul 04 00:14:31 2016 +0000
@@ -183,6 +183,7 @@
case MbedJSONValue::TypeString:
if(tmpJson->accessible){
*tmpJson = pDataJson->_value.asString;
+ tmpJson->cb_action((void*)tmpJson->_value.asString->c_str());
}
else{
errnum = 403;
@@ -200,7 +201,11 @@
if((*tmpJson)[tok].accessible){
errnum = 200;
if((*pDataJson)[i].size() > 0){
- (*tmpJson)[tok] = (*pDataJson)[i]._value.asString;
+ //(*tmpJson)[tok] = (*pDataJson)[i]._value.asString;
+ (*tmpJson)[tok] = (*pDataJson)[i]._value.asString->c_str();
+
+ //(*tmpJson)[tok].cb_action((void*)&((*pDataJson)[i]._value.asInt));
+ (*tmpJson)[tok].cb_action((void*)((*pDataJson)[i]._value.asString->c_str()));
#ifdef DEBUG_HTTPREQ
printf("String Updated: %s : %s\r\n", tok,(*tmpJson)[tok].get<std::string>().c_str());
#endif
--- a/RequestHandler.h Tue May 31 10:31:30 2016 +0000 +++ b/RequestHandler.h Mon Jul 04 00:14:31 2016 +0000 @@ -1,7 +1,7 @@ #ifndef __REQUESTHANDLER_H_ #define __REQUESTHANDLER_H_ -//#define DEBUG_HTTPREQ +#define DEBUG_HTTPREQ extern void debug_info();
--- a/main.cpp Tue May 31 10:31:30 2016 +0000
+++ b/main.cpp Mon Jul 04 00:14:31 2016 +0000
@@ -3,13 +3,34 @@
#include "RequestHandler.h"
#include "EthernetInterface.h"
#include "MbedJSONValue.h"
+// 20160630
+#include "Adafruit_SSD1306.h"
#define SERVER_PORT 80
-#define DHCP
+//#define DHCP
//#define DEBUG
+//-- I2C OLED --
+class I2CPreInit : public I2C
+{
+public:
+ I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
+ {
+ frequency(100000);
+ start();
+ };
+};
+I2CPreInit gI2C(PA_10,PA_9);
+Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
+
+//-- PWM DC --
+PwmOut DC(D6);
+
+//-- GPIO --
+DigitalInOut GP05(D5);
+
EthernetInterface eth;
HTTPServer WIZwikiWebSvr;
MbedJSONValue WIZwikiREST;
@@ -24,239 +45,34 @@
GetRequestHandler myGetReq;
PostRequestHandler myPostReq;
-DigitalOut LED_1(PA_1);
-DigitalOut LED_2(PA_2);
-
-DigitalInOut GP05(P5);
-DigitalInOut GP06(P6);
-DigitalInOut GP07(P7);
-DigitalInOut GP08(P8);
-DigitalInOut GP09(P9);
-DigitalInOut GP10(P10);
-DigitalInOut GP11(P11);
-DigitalInOut GP12(P12);
-DigitalInOut GP13(P13);
-DigitalInOut GP14(P14);
-DigitalInOut GP15(P15);
-DigitalInOut GP16(P16);
-DigitalInOut GP17(P17);
-DigitalInOut GP18(P18);
-DigitalInOut GP19(P19);
-DigitalInOut GP20(P20);
-DigitalInOut GP21(P21);
-DigitalInOut GP22(P22);
-DigitalInOut GP23(P23);
-DigitalInOut GP24(P24);
-DigitalInOut GP25(P25);
-DigitalInOut GP26(P26);
-DigitalInOut GP27(P27);
-DigitalInOut GP28(P28);
-DigitalInOut GP29(P29);
-DigitalInOut GP30(P30);
-DigitalInOut GP31(P31);
-DigitalInOut GP32(P32);
-
-
-bool gpio_all(void* param)
+//-- I2C OLED --
+bool oled_set(void* param)
{
+ printf("param : %c \r\n", param);
+ char * oled;
if(!param) return false;
- GP05.write(*(int*)param);
- GP06.write(*(int*)param);
- GP07.write(*(int*)param);
- GP08.write(*(int*)param);
- GP09.write(*(int*)param);
- GP10.write(*(int*)param);
- GP11.write(*(int*)param);
- GP12.write(*(int*)param);
- GP13.write(*(int*)param);
- GP14.write(*(int*)param);
- GP15.write(*(int*)param);
- GP16.write(*(int*)param);
- GP17.write(*(int*)param);
- GP18.write(*(int*)param);
- GP19.write(*(int*)param);
- GP20.write(*(int*)param);
- GP21.write(*(int*)param);
- GP22.write(*(int*)param);
- GP23.write(*(int*)param);
- GP24.write(*(int*)param);
- GP25.write(*(int*)param);
- GP26.write(*(int*)param);
- GP27.write(*(int*)param);
- GP28.write(*(int*)param);
- GP29.write(*(int*)param);
+ oled = (char*) param;
+ gOled.clearDisplay();
+ gOled.setTextCursor(0,0);
+ gOled.printf("%s",oled);
+ gOled.display();
return true;
}
-
-
+//-- PWM DC --
+bool pwm_set(void* param)
+{
+ printf("%d\r\n",(*(int*)param));
+ if(!param) return false;
+ DC.write((float)(*(int*)param)/100.0);
+ return true;
+}
+//-- GPIO --
bool p5_set(void* param)
{
if(!param) return false;
GP05.write(*(int*)param);
return true;
}
-bool p6_set(void* param)
-{
- if(!param) return false;
- GP06.write(*(int*)param);
- return true;
-}
-bool p7_set(void* param)
-{
- if(!param) return false;
- GP07.write(*(int*)param);
- return true;
-}
-bool p8_set(void* param)
-{
- if(!param) return false;
- GP08.write(*(int*)param);
- return true;
-}
-bool p9_set(void* param)
-{
- if(!param) return false;
- GP09.write(*(int*)param);
- return true;
-}
-bool p10_set(void* param)
-{
- if(!param) return false;
- GP10.write(*(int*)param);
- return true;
-}
-bool p11_set(void* param)
-{
- if(!param) return false;
- GP11.write(*(int*)param);
- return true;
-}
-bool p12_set(void* param)
-{
- if(!param) return false;
- GP12.write(*(int*)param);
- return true;
-}
-bool p13_set(void* param)
-{
- if(!param) return false;
- GP13.write(*(int*)param);
- return true;
-}
-bool p14_set(void* param)
-{
- if(!param) return false;
- GP14.write(*(int*)param);
- return true;
-}
-bool p15_set(void* param)
-{
- if(!param) return false;
- GP15.write(*(int*)param);
- return true;
-}
-bool p16_set(void* param)
-{
- if(!param) return false;
- GP16.write(*(int*)param);
- return true;
-}
-bool p17_set(void* param)
-{
- if(!param) return false;
- GP17.write(*(int*)param);
- return true;
-}
-bool p18_set(void* param)
-{
- if(!param) return false;
- GP18.write(*(int*)param);
- return true;
-}
-bool p19_set(void* param)
-{
- if(!param) return false;
- GP19.write(*(int*)param);
- return true;
-}
-bool p20_set(void* param)
-{
- if(!param) return false;
- GP20.write(*(int*)param);
- return true;
-}
-bool p21_set(void* param)
-{
- if(!param) return false;
- GP21.write(*(int*)param);
- return true;
-}
-bool p22_set(void* param)
-{
- if(!param) return false;
- GP22.write(*(int*)param);
- return true;
-}
-bool p23_set(void* param)
-{
- if(!param) return false;
- GP23.write(*(int*)param);
- return true;
-}
-bool p24_set(void* param)
-{
- if(!param) return false;
- GP24.write(*(int*)param);
- return true;
-}
-bool p25_set(void* param)
-{
- if(!param) return false;
- GP25.write(*(int*)param);
- return true;
-}
-bool p26_set(void* param)
-{
- if(!param) return false;
- GP26.write(*(int*)param);
- return true;
-}
-bool p27_set(void* param)
-{
- if(!param) return false;
- GP27.write(*(int*)param);
- return true;
-}
-bool p28_set(void* param)
-{
- if(!param) return false;
- GP28.write(*(int*)param);
- return true;
-}
-bool p29_set(void* param)
-{
- if(!param) return false;
- GP29.write(*(int*)param);
- return true;
-}
-bool p30_set(void* param)
-{
- if(!param) return false;
- GP30.write(*(int*)param);
- return true;
-}
-bool p31_set(void* param)
-{
- if(!param) return false;
- GP31.write(*(int*)param);
- return true;
-}
-bool p32_set(void* param)
-{
- if(!param) return false;
- GP32.write(*(int*)param);
- return true;
-}
void debug_info()
{
@@ -277,61 +93,18 @@
#endif
sprintf(mac_str, "%02X:%02X:%02X:%02X:%02X:%02X",mac_addr[0],mac_addr[1],mac_addr[2],mac_addr[3],mac_addr[4],mac_addr[5]);
- //GPIO Set
+ // OLED init
+ gOled.begin();
+ gOled.clearDisplay();
+
+ // PWM init
+ DC.period_ms(1);
+ DC.write(0);
+
+ //GPIO set & init
GP05.output();
GP05.write(1);
- GP06.output();
- GP06.write(1);
- GP07.output();
- GP07.write(1);
- GP08.output();
- GP08.write(1);
- GP09.output();
- GP09.write(1);
- GP10.output();
- GP10.write(1);
- GP11.output();
- GP11.write(1);
- GP12.output();
- GP12.write(1);
- GP13.output();
- GP13.write(1);
- GP14.output();
- GP14.write(1);
- GP15.output();
- GP15.write(1);
- GP16.output();
- GP16.write(1);
- GP17.output();
- GP17.write(1);
- GP18.output();
- GP18.write(1);
- GP19.output();
- GP19.write(1);
- GP20.output();
- GP20.write(1);
- GP21.output();
- GP21.write(1);
- GP22.output();
- GP22.write(1);
- GP23.output();
- GP23.write(1);
- GP24.output();
- GP24.write(1);
- GP25.output();
- GP25.write(1);
- GP26.output();
- GP26.write(1);
- GP27.output();
- GP27.write(1);
- GP28.output();
- GP28.write(1);
- GP29.output();
- GP29.write(1);
- //LED Setbit
- //LED_1.write(0); // LED On
- //LED_2.write(1); // LED Off
printf("START \r\n");
printf("sizeof(MbedJSONValue)=%d\r\n",sizeof(MbedJSONValue));
printf("sizeof(vector)=%d\r\n",sizeof(std::vector<string*>));
@@ -416,91 +189,21 @@
WIZwikiREST["Network"]["SN"].accessible = true;
WIZwikiREST["Network"]["GW"] = gateway_addr;
WIZwikiREST["Network"]["GW"].accessible = true;
-
- //LEDs
- //WIZwikiREST["LED1"] = (LED_1.read() ? "Off" : "On");
- //WIZwikiREST["LED1"].accessible = true;
- //WIZwikiREST["LED2"] = (LED_2.read() ? "Off" : "On");
- //WIZwikiREST["LED2"].accessible = true;
+
+ // I2C OLED
+ WIZwikiREST["I2C"]["OLED"] = "none";
+ WIZwikiREST["I2C"]["OLED"].accessible = true;
+ WIZwikiREST["I2C"]["OLED"].cb_action = oled_set;
- // GPIOs
- WIZwikiREST["GPIOs"]["all"].accessible = true;
- WIZwikiREST["GPIOs"]["all"].cb_action = gpio_all;
+ // PWM DC
+ WIZwikiREST["PWM"]["DC"] = DC.read();
+ WIZwikiREST["PWM"]["DC"].accessible = true;
+ WIZwikiREST["PWM"]["DC"].cb_action = pwm_set;
+
+ // GPIO
WIZwikiREST["GPIOs"]["P05"] = GP05.read();
WIZwikiREST["GPIOs"]["P05"].accessible = true;
WIZwikiREST["GPIOs"]["P05"].cb_action = p5_set;
- WIZwikiREST["GPIOs"]["P06"] = GP06.read();
- WIZwikiREST["GPIOs"]["P06"].accessible = true;
- WIZwikiREST["GPIOs"]["P06"].cb_action = p6_set;
- WIZwikiREST["GPIOs"]["P07"] = GP07.read();
- WIZwikiREST["GPIOs"]["P07"].accessible = true;
- WIZwikiREST["GPIOs"]["P07"].cb_action = p7_set;
- WIZwikiREST["GPIOs"]["P08"] = GP08.read();
- WIZwikiREST["GPIOs"]["P08"].accessible = true;
- WIZwikiREST["GPIOs"]["P08"].cb_action = p8_set;
- WIZwikiREST["GPIOs"]["P09"] = GP09.read();
- WIZwikiREST["GPIOs"]["P09"].accessible = true;
- WIZwikiREST["GPIOs"]["P09"].cb_action = p9_set;
- WIZwikiREST["GPIOs"]["P10"] = GP10.read();
- WIZwikiREST["GPIOs"]["P10"].accessible = true;
- WIZwikiREST["GPIOs"]["P10"].cb_action = p10_set;
- WIZwikiREST["GPIOs"]["P11"] = GP11.read();
- WIZwikiREST["GPIOs"]["P11"].accessible = true;
- WIZwikiREST["GPIOs"]["P11"].cb_action = p11_set;
- WIZwikiREST["GPIOs"]["P12"] = GP12.read();
- WIZwikiREST["GPIOs"]["P12"].accessible = true;
- WIZwikiREST["GPIOs"]["P12"].cb_action = p12_set;
- WIZwikiREST["GPIOs"]["P13"] = GP13.read();
- WIZwikiREST["GPIOs"]["P13"].accessible = true;
- WIZwikiREST["GPIOs"]["P13"].cb_action = p13_set;
- WIZwikiREST["GPIOs"]["P14"] = GP14.read();
- WIZwikiREST["GPIOs"]["P14"].accessible = true;
- WIZwikiREST["GPIOs"]["P14"].cb_action = p14_set;
- WIZwikiREST["GPIOs"]["P15"] = GP15.read();
- WIZwikiREST["GPIOs"]["P15"].accessible = true;
- WIZwikiREST["GPIOs"]["P15"].cb_action = p15_set;
- WIZwikiREST["GPIOs"]["P16"] = GP16.read();
- WIZwikiREST["GPIOs"]["P16"].accessible = true;
- WIZwikiREST["GPIOs"]["P16"].cb_action = p16_set;
- WIZwikiREST["GPIOs"]["P17"] = GP17.read();
- WIZwikiREST["GPIOs"]["P17"].accessible = true;
- WIZwikiREST["GPIOs"]["P17"].cb_action = p17_set;
- WIZwikiREST["GPIOs"]["P18"] = GP18.read();
- WIZwikiREST["GPIOs"]["P18"].accessible = true;
- WIZwikiREST["GPIOs"]["P18"].cb_action = p18_set;
- WIZwikiREST["GPIOs"]["P19"] = GP19.read();
- WIZwikiREST["GPIOs"]["P19"].accessible = true;
- WIZwikiREST["GPIOs"]["P19"].cb_action = p19_set;
- WIZwikiREST["GPIOs"]["P20"] = GP20.read();
- WIZwikiREST["GPIOs"]["P20"].accessible = true;
- WIZwikiREST["GPIOs"]["P20"].cb_action = p20_set;
- WIZwikiREST["GPIOs"]["P21"] = GP21.read();
- WIZwikiREST["GPIOs"]["P21"].accessible = true;
- WIZwikiREST["GPIOs"]["P21"].cb_action = p21_set;
- WIZwikiREST["GPIOs"]["P22"] = GP22.read();
- WIZwikiREST["GPIOs"]["P22"].accessible = true;
- WIZwikiREST["GPIOs"]["P22"].cb_action = p22_set;
- WIZwikiREST["GPIOs"]["P23"] = GP23.read();
- WIZwikiREST["GPIOs"]["P23"].accessible = true;
- WIZwikiREST["GPIOs"]["P23"].cb_action = p23_set;
- WIZwikiREST["GPIOs"]["P24"] = GP24.read();
- WIZwikiREST["GPIOs"]["P24"].accessible = true;
- WIZwikiREST["GPIOs"]["P24"].cb_action = p24_set;
- WIZwikiREST["GPIOs"]["P25"] = GP25.read();
- WIZwikiREST["GPIOs"]["P25"].accessible = true;
- WIZwikiREST["GPIOs"]["P25"].cb_action = p25_set;
- WIZwikiREST["GPIOs"]["P26"] = GP26.read();
- WIZwikiREST["GPIOs"]["P26"].accessible = true;
- WIZwikiREST["GPIOs"]["P26"].cb_action = p26_set;
- WIZwikiREST["GPIOs"]["P27"] = GP27.read();
- WIZwikiREST["GPIOs"]["P27"].accessible = true;
- WIZwikiREST["GPIOs"]["P27"].cb_action = p27_set;
- WIZwikiREST["GPIOs"]["P28"] = GP28.read();
- WIZwikiREST["GPIOs"]["P28"].accessible = true;
- WIZwikiREST["GPIOs"]["P28"].cb_action = p28_set;
- WIZwikiREST["GPIOs"]["P29"] = GP29.read();
- WIZwikiREST["GPIOs"]["P29"].accessible = true;
- WIZwikiREST["GPIOs"]["P29"].cb_action = p29_set;
#ifdef DEBUG
debug_info();
