A test program for my SuperTweet driver classes.

Dependencies:   mbed SuperTweet EthernetNetIf

Committer:
shintamainjp
Date:
Fri Oct 29 23:12:59 2010 +0000
Revision:
2:110af84baf48
Parent:
1:183d8c0ba30d
Updated the SuperTweet library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:67880614001c 1 #include "mbed.h"
shintamainjp 1:183d8c0ba30d 2 #include "EthernetNetIf.h"
shintamainjp 1:183d8c0ba30d 3 #include "SuperTweetV1XML.h"
shintamainjp 1:183d8c0ba30d 4
shintamainjp 1:183d8c0ba30d 5 #define YOUR_ACCOUNT "YOUR_ACCOUNT"
shintamainjp 1:183d8c0ba30d 6 #define YOUR_PASSWORD "YOUR_PASSWORD"
shintamainjp 1:183d8c0ba30d 7
shintamainjp 1:183d8c0ba30d 8 extern "C" void mbed_reset();
shintamainjp 1:183d8c0ba30d 9
shintamainjp 1:183d8c0ba30d 10 EthernetNetIf net;
shintamainjp 1:183d8c0ba30d 11 SuperTweetV1XML st(YOUR_ACCOUNT, YOUR_PASSWORD);
shintamainjp 0:67880614001c 12
shintamainjp 1:183d8c0ba30d 13 /**
shintamainjp 1:183d8c0ba30d 14 * Callback function for postStatusesUpdate.
shintamainjp 1:183d8c0ba30d 15 *
shintamainjp 1:183d8c0ba30d 16 * @param buf A pointer to a buffer.
shintamainjp 1:183d8c0ba30d 17 * @param siz A size of the buffer.
shintamainjp 1:183d8c0ba30d 18 */
shintamainjp 1:183d8c0ba30d 19 void func(char *buf, size_t siz) {
shintamainjp 1:183d8c0ba30d 20 #if 0
shintamainjp 1:183d8c0ba30d 21 /*
shintamainjp 1:183d8c0ba30d 22 * This is for checking a response.
shintamainjp 1:183d8c0ba30d 23 */
shintamainjp 1:183d8c0ba30d 24 for (int i = 0; i < siz; i++) {
shintamainjp 1:183d8c0ba30d 25 printf("%c", buf[i]);
shintamainjp 1:183d8c0ba30d 26 }
shintamainjp 1:183d8c0ba30d 27 #endif
shintamainjp 1:183d8c0ba30d 28 }
shintamainjp 0:67880614001c 29
shintamainjp 1:183d8c0ba30d 30 /**
shintamainjp 1:183d8c0ba30d 31 * Entry point.
shintamainjp 1:183d8c0ba30d 32 */
shintamainjp 0:67880614001c 33 int main() {
shintamainjp 1:183d8c0ba30d 34 char text[BUFSIZ];
shintamainjp 1:183d8c0ba30d 35 int cnt = 0;
shintamainjp 1:183d8c0ba30d 36
shintamainjp 1:183d8c0ba30d 37 EthernetErr err = net.setup();
shintamainjp 1:183d8c0ba30d 38 if (err) {
shintamainjp 1:183d8c0ba30d 39 error("Network setup failed.\n");
shintamainjp 1:183d8c0ba30d 40 }
shintamainjp 1:183d8c0ba30d 41
shintamainjp 1:183d8c0ba30d 42 while (1) {
shintamainjp 1:183d8c0ba30d 43 snprintf(text, sizeof(text), "Hi! I'm mbed from ARM. Message number is %d", cnt++);
shintamainjp 1:183d8c0ba30d 44 HTTPResult r = st.postStatusesUpdate(std::string(text), func);
shintamainjp 1:183d8c0ba30d 45 printf("r=%d\n", (int)r);
shintamainjp 1:183d8c0ba30d 46
shintamainjp 1:183d8c0ba30d 47 /*
shintamainjp 1:183d8c0ba30d 48 * Note:
shintamainjp 1:183d8c0ba30d 49 * I don't know why sometime it get a error.
shintamainjp 1:183d8c0ba30d 50 * I think it a bug in a mbed library.
shintamainjp 1:183d8c0ba30d 51 */
shintamainjp 1:183d8c0ba30d 52 if (r != 0) {
shintamainjp 1:183d8c0ba30d 53 printf("Resetting...\n");
shintamainjp 1:183d8c0ba30d 54 mbed_reset();
shintamainjp 1:183d8c0ba30d 55 }
shintamainjp 1:183d8c0ba30d 56
shintamainjp 1:183d8c0ba30d 57 wait(5);
shintamainjp 0:67880614001c 58 }
shintamainjp 0:67880614001c 59 }