Difference between revisions of "Programming"

From The TinkerNet Wiki
Jump to navigation Jump to search
Line 67: Line 67:
 
==Stupid Library Compile Warnings!!!==
 
==Stupid Library Compile Warnings!!!==
 
===PubSubClient (2.8.0)===
 
===PubSubClient (2.8.0)===
<code>
+
<syntaxhighlight>
 
.pio/libdeps/SugarBush_SS_Climate_BME280/PubSubClient/src/PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':
 
.pio/libdeps/SugarBush_SS_Climate_BME280/PubSubClient/src/PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':
  
Line 73: Line 73:
  
 
     return (rc == expectedLength);
 
     return (rc == expectedLength);
 
 
                   ^
 
                   ^
</code>
+
</syntaxhighlight>
  
'''FIX:''' Add unsigned to the definition of expectedLength
+
'''FIX:''' Add <code>unsigned</code> to the definition of <code>expectedLength</code>
  
 
===SimpleTimer (0.0.0-alpha+sha.b30890b8f7)===
 
===SimpleTimer (0.0.0-alpha+sha.b30890b8f7)===

Revision as of 17:35, 29 March 2021

Atom as a full IDE

bash

Dialogs

Some Links

C

C++

(Apparently, a language designed to make C programmers lose their minds...)

Converting numbers to strings

Problem Solving

  • Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '…'

Processing

JavaScript

Arduino (Language)

Data Type Conversions

char* to String

char *message = "Hello";
String myString = String(message);

String to char*

Messing about with strings & not Strings

http://www.cplusplus.com/reference/cstring/

Specifically: strcat

Memory Saving

PROGMEM

Stupid Library Compile Warnings!!!

PubSubClient (2.8.0)

.pio/libdeps/SugarBush_SS_Climate_BME280/PubSubClient/src/PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':

.pio/libdeps/SugarBush_SS_Climate_BME280/PubSubClient/src/PubSubClient.cpp:523:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

     return (rc == expectedLength);
                   ^

FIX: Add unsigned to the definition of expectedLength

SimpleTimer (0.0.0-alpha+sha.b30890b8f7)

.pio/libdeps/SugarBush_SS_Climate_BME280/SimpleTimer/SimpleTimer.cpp: In member function 'void SimpleTimer::run()':
 
.pio/libdeps/SugarBush_SS_Climate_BME280/SimpleTimer/SimpleTimer.cpp:66:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

if (current_millis - prev_millis[i] >= delays[i]) {
                                               ^

FIX: Add unsigned to the definition of delays[]

Troubleshooting

When trying to compile things on a Linux machine...

You get silly-ass errors like fatal error: stdio.h: No such file or directory or other files missing that just don't make ANY sense...

  • sudo apt update
  • sudo apt install --reinstall build-essential

'Coz sumpin' borked yer compiler install...