@@ -24,15 +24,16 @@ String greet() {
2424}
2525
2626void setup() {
27- Serial.begin(115200);
28- while (!Serial);
27+
28+ Bridge.begin();
29+ Monitor.begin();
2930
3031 pinMode(LED_BUILTIN, OUTPUT);
3132
3233 if (!Bridge.provide("set_led", set_led)) {
33- Serial .println("Error providing method: set_led");
34+ Monitor .println("Error providing method: set_led");
3435 } else {
35- Serial .println("Registered method: set_led");
36+ Monitor .println("Registered method: set_led");
3637 }
3738
3839 Bridge.provide_safe("greet", greet);
@@ -42,11 +43,25 @@ void setup() {
4243void loop() {
4344 float res;
4445 if (!Bridge.call("multiply", 1.0, 2.0).result(res)) {
45- Serial .println("Error calling method: multiply");
46- Serial .println(Bridge.get_error_code());
47- Serial .println(Bridge.get_error_message());
46+ Monitor .println("Error calling method: multiply");
47+ Monitor .println(Bridge.get_error_code());
48+ Monitor .println(Bridge.get_error_message());
4849 };
4950
5051 Bridge.notify("signal", 200);
5152}
5253```
54+
55+ ## Best practices ##
56+ Avoid catching Bridge call RpcResult without invoking its .result right away
57+ ```cpp
58+ // OK
59+ float out;
60+ RpcResult res = Bridge.call("multiply", 1.0, 2.0);
61+ res.result(out);
62+ Monitor.println("TEST");
63+
64+ // NOT OK
65+ //RpcResult res = Bridge.call("multiply", 1.0, 2.0);
66+ //Monitor.println("TEST");
67+ ```
0 commit comments