Răsfoiți Sursa

Twitter feed

# Conflicts:
#	contentparser.c
#	displayHandler.c
#	main.c
jancoow 9 ani în urmă
părinte
comite
1dc6516775
10 a modificat fișierele cu 72 adăugiri și 20 ștergeri
  1. 1 3
      .idea/InternetRadio.iml
  2. 16 0
      Twitter.h
  3. 10 6
      contentparser.c
  4. 0 1
      contentparser.h
  5. 4 0
      display.c
  6. 1 0
      display.h
  7. 30 4
      displayHandler.c
  8. 1 3
      displayHandler.h
  9. 1 1
      jsmn.c
  10. 8 2
      main.c

+ 1 - 3
.idea/InternetRadio.iml

@@ -1,9 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="CPP_MODULE" version="4">
   <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/CMakeLists.txt" isTestSource="false" />
-    </content>
+    <content url="file://$MODULE_DIR$" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="module-library">
       <library name="Header Search Paths">

+ 16 - 0
Twitter.h

@@ -0,0 +1,16 @@
+//
+// Created by malek on 30-3-2016.
+//
+
+#ifndef INTERNETRADIO_TWITTER_H
+#define INTERNETRADIO_TWITTER_H
+
+#endif //INTERNETRADIO_TWITTER_H
+
+struct TwitterFeed TweetFeed;
+int Scroller;
+
+struct TwitterFeed{
+
+    char tweet[140];
+};

+ 10 - 6
contentparser.c

@@ -11,6 +11,8 @@
 #include "displayHandler.h"
 #include "vs10xx.h"
 #include "twitch.h"
+#include "Twitter.h"
+int streamid;
 
 void parseAlarmJson(char* content){
     int r;
@@ -210,9 +212,11 @@ void parseTwitch(char* content) {
         setCurrentDisplay(DISPLAY_Twitch, 100);
     }
 }
-//void TwitterParser(char* content)
-//{
-//    char tweet = atoi(content);
-//    printf("%d", tweet);
-//    displayTwitter(1,tweet);
-//}
+
+void TwitterParser(char* content)
+{
+    char tweet[140];
+    memset(tweet, 0, 140);
+    strcpy(TweetFeed.tweet,content);
+    printf("%s", TweetFeed.tweet);
+}

+ 0 - 1
contentparser.h

@@ -9,5 +9,4 @@ void parseCommandQue(char* content);
 void parsetimezone(char* content);
 void parseTwitch(char* content);
 void TwitterParser(char* content);
-
 #endif //CONTENTPARSER_H

+ 4 - 0
display.c

@@ -217,6 +217,10 @@ void LcdArrayLineTwo(char *data, int size){
 		LcdChar(data[i]);
 	}
 }
+char getLoop(char *text,int offset)
+{
+    return text[offset % strlen(text)];
+}
 
 void setXCursorPos(int leftRight,int count)
 {

+ 1 - 0
display.h

@@ -58,6 +58,7 @@ extern void ClearLcd(void);
 extern void LcdArrayLineOne(char*, int);
 extern void LcdArrayLineTwo(char*, int);
 extern void setXCursorPos(int,int);
+extern char getLoop(char*,int);
 #endif /* _Display_H */
 /*  ����  End Of File  �������� �������������������������������������������� */
 

+ 30 - 4
displayHandler.c

@@ -14,6 +14,7 @@
 #include "alarm.h"
 #include "network.h"
 #include "twitch.h"
+#include "Twitter.h"
 
 struct _tm lastDisplayTime;
 viewDisplays currentViewDisplay;
@@ -44,6 +45,8 @@ void refreshScreen(){
         displayAlarm(getRunningAlarmID());
     }else if(currentViewDisplay == DISPLAY_Twitch){
         displayTwitch(data.name, data.title, data.game);
+    }else if(currentViewDisplay == DISPLAY_Twitter){
+        displayTwitter(TweetFeed.tweet);
     }
 }
 
@@ -142,14 +145,37 @@ void displayVolume()
     LcdArrayLineTwo(characters,16);
 }
 
-void displayTwitter(int lineNumber,char text[])
+void displayTwitter(char* text)
 {
+    //int lineNumber,char text[]
     ClearLcd();
+    LcdBackLight(LCD_BACKLIGHT_ON);
+    LcdArrayLineOne("     Twitter    ", 16);
+    int j = 0;
     int i;
-
-    if (lineNumber > -1 && lineNumber < 2){
-        (*write_display_ptr[lineNumber])(text,strlen(text));
+    char text1[16];
+    //char text2[140] = text;
+   // int shift = 0;
+    //char *text = "Twitter";
+    for(i = 0; i<140;i++){
+        if (text[i] != 0){
+            j++;
+        }
     }
+
+        for(i = 0; i < 16; i++){
+            if (text[Scroller+i]!= 0) {
+                text1[i] = text[Scroller + i];
+            } else {
+                text1[i] = ' ';
+            }
+        }
+        LcdArrayLineTwo(text1,16);
+        Scroller++;
+        if (Scroller > j){
+            Scroller = 0;
+        }
+        NutDelay(500);
 }
 
 void displayTwitch(char name[], char title[], char game[])

+ 1 - 3
displayHandler.h

@@ -6,7 +6,6 @@
 #define MUTLI_OS_BUILD_DISPLAYHANDLER_H
 #include "ntp.h"
 
-
 #include <time.h>
 #include "alarm.h"
 #define MONTH_OFFSET 1
@@ -22,8 +21,7 @@ void refreshScreen(void);
 void displayDateTime(void);
 void displayAlarm(char idx);
 void displayVolume();
-void displayTwitter(int lineNumber,char text[]);
+void displayTwitter(char text[]);
 void displayTwitch(char name[], char title[], char game[]);
 
-
 #endif //MUTLI_OS_BUILD_DISPLAYHANDLER_H

+ 1 - 1
jsmn.c

@@ -3,7 +3,6 @@
 #include <string.h>
 #include <assert.h>
 
-
 /**
  * Allocates a fresh unused token from the token pull.
  */
@@ -343,4 +342,5 @@ void getStringToken(const char *json, jsmntok_t *tok, char *res, char maxlength)
 		printf("ERROR: String to large! output string length: %d - Input string length: %d - String: %.*s \n", maxlength - 1, (tok->end - tok->start), tok->end - tok->start, json + tok->start);
 		res[0] = '\0';
 	};
+
 }

+ 8 - 2
main.c

@@ -227,9 +227,14 @@ THREAD(AlarmSync, arg)
             char url[49];
             sprintf(url, "/getAlarmen.php?radiomac=%s&tz=%d", getMacAdress(), getTimeZone());
             httpGet(url, parseAlarmJson);
+
             char url2[43];
             sprintf(url2, "/getTwitch.php?radiomac=%s", getMacAdress());
             httpGet(url2, parseTwitch);
+            char url3[43];
+            sprintf(url3,"/getTwitter.php?radiomac=%s", getMacAdress());
+            httpGet(url3,TwitterParser);
+
             isAlarmSyncing = false;
             //Command que (Telegram) sync
             sprintf(url, "%s%s", "/getCommands.php?radiomac=", getMacAdress());
@@ -279,12 +284,11 @@ int main(void)
 
     VsPlayerInit();
 
-     NtpInit();
+    NtpInit();
 
     NutThreadCreate("BackgroundThread", StartupInit, NULL, 1024);
     NutThreadCreate("BackgroundThread", AlarmSync, NULL, 2500);
     NutThreadCreate("BackgroundThread", AlarmCheck, NULL, 256);
-    /** Quick fix for turning off the display after 10 seconds boot */
 
 	KbInit();
 
@@ -326,6 +330,8 @@ int main(void)
                 }else if(KbGetKey() == KEY_UP){
                     setCurrentDisplay(DISPLAY_Volume, 5);
                     volumeUp();
+                }else if(KbGetKey() == KEY_LEFT){
+                    setCurrentDisplay(DISPLAY_Twitter,20);
                 }else{
                     setCurrentDisplay(DISPLAY_DateTime, 5);
                 }