Skip to content

Commit 0056681

Browse files
committed
zephyrSerial: start writing Serial wrapper
This wrapper basically now enables the use of Serial.print and println functions and their most variants. Signed-off-by: Dhruva Gole <[email protected]>
1 parent df157bd commit 0056681

File tree

4 files changed

+61
-2
lines changed

4 files changed

+61
-2
lines changed

cores/arduino/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ zephyr_include_directories(../../variants)
44

55
if(NOT DEFINED ARDUINO_BUILD_PATH)
66

7+
zephyr_sources(zephyrSerial.cpp)
78
zephyr_sources(zephyrCommon.cpp)
89
zephyr_sources(main.cpp)
910

cores/arduino/zephyrSerial.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include <zephyrSerial.h>
2+
#include <Arduino.h>
3+
#include <zephyr/sys/printk.h>
4+
5+
size_t arduino::ZephyrSerial::begin(unsigned long int baudrate){
6+
return 0;
7+
}
8+
9+
size_t arduino::ZephyrSerial::print(char ch){
10+
printk("%c",ch);
11+
return 0;
12+
}
13+
size_t arduino::ZephyrSerial::println(const char* ptr) {
14+
printf("\n%s\n", ptr);
15+
return 0;
16+
}
17+
size_t arduino::ZephyrSerial::println(char c){
18+
// pvt_c = c;
19+
printf("\n%c\n",c);
20+
return 0;
21+
}
22+
23+
size_t arduino::ZephyrSerial::println(void){
24+
printf("\n");
25+
return 0;
26+
}
27+
28+
arduino::ZephyrSerial Serial;

cores/arduino/zephyrSerial.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#pragma once
2+
3+
#include <Arduino.h>
4+
#include <api/Print.h>
5+
6+
namespace arduino {
7+
8+
class ZephyrSerial {
9+
char pvt_c;
10+
public:
11+
size_t begin(unsigned long int baudrate); //TODO
12+
13+
size_t print(const char c);
14+
15+
size_t println(const char c);
16+
size_t println(const char* ptr);
17+
size_t println(void);
18+
19+
};
20+
21+
} // namespace arduino
22+
23+
extern arduino::ZephyrSerial Serial;

samples/hello_arduino/src/app.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@
33
*/
44

55
#include <Arduino.h>
6+
#include "zephyrSerial.h"
67

7-
void setup() { printk("Hello World! %s\n", CONFIG_BOARD); }
8+
9+
void setup() {
10+
// put your setup code here, to run once:
11+
Serial.begin(115200); // dummy as of now, need to study and refer https://docs.zephyrproject.org/latest/hardware/peripherals/uart.html
12+
}
813
void loop() {
9-
printk("\nInside Loop...\n");
14+
char c = 'D';
15+
Serial.print(c);
16+
Serial.println("Dhruva");
1017
delay(1000); // 1 second delay
1118
}

0 commit comments

Comments
 (0)