Converting byte array or String value to float in P5.js (javascript based)

I have been successful in getting serial data in P5.js sketch using this – GitHub – p5-serial/p5.serialport: Serial Port API and Server for p5.js library as either byte array or string values.

When I tried converting string to float type using float() – I get a lot of NaN values which shouldn’t be coming since data is numerical.

Alternatively, I then tried getting data from serial port as byte array. I can’t find a way to convert this array to my original float value in P5.js.

Any ideas on how to convert byte array to float or avoid getting NaN when converting string to float?

Appreciate your time and help. Thanks.

Codes I have tried for conversion:

  1. From String to float, I used

    let incomingData;
    
    let dataValue;
    
    incomingData = serial.readStringUntil('\n');
    
    dataValue = float(incomingData);  //standard method in P5.js -- returns NaN values
    

I also tried parseFloat() — https://www.geeksforgeeks.org/javascript-parsefloat-function/

  dataValue = parseFloat(incomingData);
  //again returns maximum values as NaN
  1. From byte array to float

    let incomingBytes = [];
    
    let dataValue;
    
    incomingBytes = serial.readBytesUntil('\n');
    
    dataValue = dataView.getFloat64(bytebuffer); 
    // This javascript method is not supported by P5.js it seems
    

original data in arduino
string data in P5.js
NaN after converting to float
array of converted values - a lot of NaN
array of string data without conversion

45 thoughts on “Converting byte array or String value to float in P5.js (javascript based)”

Leave a Comment