From b2975c36fe962e4395bfaabe8d9c44571cb646e9 Mon Sep 17 00:00:00 2001
From: Vipin Thomas <vipin.thomas@stud.th-deg.de>
Date: Thu, 24 Jun 2021 18:49:42 +0000
Subject: [PATCH] Update pixel_original.cpp

---
 pixel_original.cpp | 231 +++++++++++++++++++++++----------------------
 1 file changed, 118 insertions(+), 113 deletions(-)

diff --git a/pixel_original.cpp b/pixel_original.cpp
index 0a8a89b..0b13e8e 100644
--- a/pixel_original.cpp
+++ b/pixel_original.cpp
@@ -1,116 +1,121 @@
-
-#include <hls_stream.h>
-#include <ap_axi_sdata.h>
-
-void pixel(ap_int<32> selector,
-		ap_int<32> position1,
-		ap_int<32> position2,
-		ap_int<32> stream_count,
-		ap_int<32> &ascii,
-		hls::stream< pkt_t > &din,
-		hls::stream< pkt_t > &dout
-) {
-	#pragma HLS INTERFACE ap_ctrl_none port=return
-    #pragma HLS INTERFACE s_axilite port=selector
-	#pragma HLS INTERFACE s_axilite port=position1
-	#pragma HLS INTERFACE s_axilite port=position2
-	#pragma HLS INTERFACE s_axilite port=stream_count
-	#pragma HLS INTERFACE s_axilite port=ascii 
-	#pragma HLS INTERFACE axis port=din
-	#pragma HLS INTERFACE axis port=dout
-
-    pkt_t pkt=din.read();
-
-    switch(selector)
-    {
-        case 0:
-            
-            if (count_streams == 0){
-                charIn=convert(ascii);
-                final_char=0;
-            }
-
-            if((count_streams >= 3 * (position1 - 1)) && (count_streams < 3 * (position2) - 1)){
-                addNum=0;
-                if(charIn!=0){
-                    addNum=charIn%10;
-		            charIn=(int)charIn/10;
-                }
-
-                if(pkt.data % 2 == 0 && addNum == 1){
-                    pkt.data += 1;
-                }else if(pkt.data % 2 != 0 && addNum == 0){
-                    pkt.data -= 1;
-                }
-
-            }
-
-            break;
-
-        case 1:
-
-            if((count_streams >= 3 * (position1 - 1)) && (count_streams < 3 * (position2)-1)){
-                
-                
-                decrypt(pkt.data);
-            
-            }
-            break;
-
-        default:
-            break;
-    }
+	#include "pixel.hpp"
 	
-	count_streams++;
-
-	if (count_streams == stream_count){
-		count_streams = 0;
-        charIn=0;
-        addNum=0;
-        ascii=0;
-        if(selector == 1){
-            ascii= convertBinInt(final_char);
-            final_char=0;
-        }
-
+	static int count_streams = 0;
+	static long long charIn=0;
+	static long long final_char=0;
+	int addNum=0;
+	
+	void pixel(ap_int<32> selector,
+			ap_int<32> position1,
+			ap_int<32> position2,
+			ap_int<32> stream_count,
+			ap_int<32> ascii,
+			stream &din,
+			stream &dout
+	
+	) {
+		#pragma HLS INTERFACE ap_ctrl_none port=return
+		#pragma HLS INTERFACE s_axilite port=selector
+		#pragma HLS INTERFACE s_axilite port=position1
+		#pragma HLS INTERFACE s_axilite port=position2
+		#pragma HLS INTERFACE s_axilite port=stream_count
+		#pragma HLS INTERFACE s_axilite port=ascii 
+		#pragma HLS INTERFACE axis port=din
+		#pragma HLS INTERFACE axis port=dout
+	
+		pkt_t pkt=din.read();
+	
+		switch(selector)
+		{
+			case 0:
+				
+				if (count_streams == 0){
+					charIn=convert(ascii);
+					final_char=0;
+				}
+	
+				if((count_streams >= 3 * (position1 - 1)) && (count_streams < 3 * (position2) - 1)){
+					addNum=0;
+					if(charIn!=0){
+						addNum=charIn%10;
+						charIn=(int)charIn/10;
+					}
+	
+					if(pkt.data % 2 == 0 && addNum == 1){
+						pkt.data += 1;
+					}else if(pkt.data % 2 != 0 && addNum == 0){
+						pkt.data -= 1;
+					}
+	
+				}
+	
+				break;
+	
+			case 1:
+	
+				if((count_streams >= 3 * (position1 - 1)) && (count_streams < 3 * (position2)-1)){
+					
+					
+					decrypt(pkt.data);
+				
+				}
+				break;
+	
+			default:
+				break;
+		}
+		
+		count_streams++;
+	
+		if (count_streams == stream_count){
+			count_streams = 0;
+			charIn=0;
+			addNum=0;
+			ascii=0;
+			if(selector == 1){
+				ascii= convertBinInt(final_char);
+				final_char=0;
+			}
+	
+		}
+	
+		dout.write(pkt);
 	}
-
-    dout.write(pkt);
-}
-
-
-long long convert(int n) {
-    long long bin = 0;
-    int rem, i = 1, step = 1;
-    while (n != 0) {
-        rem = n % 2;
-        n /= 2;
-        bin += rem * i;
-        i *= 10;
-    }
-    return bin;
-}
-
-void decrypt(int data) {
-int bit;
-if(data % 2 == 0){
-   bit = 0;
-}else if(data % 2 != 0){
-    bit=1;
-}
-final_char= final_char*10+bit;
-
-}
-
-int convertBinInt(long long n) {
-int dec = 0, i = 7, b=0,rem=0;
-    while (n != 0) {
-        b=pow(10,i);
-        rem = n / b;
-        n =n % b;
-        dec += rem * pow(2, 7-i);
-        --i;
-    }
-    return dec;
-}
+	
+	
+	long long convert(int n) {
+		long long bin = 0;
+		int rem, i = 1, step = 1;
+		while (n != 0) {
+			rem = n % 2;
+			n /= 2;
+			bin += rem * i;
+			i *= 10;
+		}
+		return bin;
+	}
+	
+	void decrypt(int data) {
+	int bit;
+	if(data % 2 == 0){
+	   bit = 0;
+	}else if(data % 2 != 0){
+		bit=1;
+	}
+	final_char= final_char*10+bit;
+	
+	}
+	
+	int convertBinInt(long long n) {
+	int dec = 0, i = 7, b=0,rem=0;
+		while (n != 0) {
+			b=pow(10,i);
+			rem = n / b;
+			n =n % b;
+			dec += rem * pow(2, 7-i);
+			--i;
+		}
+		return dec;
+	}
+	
 
-- 
GitLab