Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Unable to compile code, even when necessary libraries are present

  1. #1

    Unable to compile code, even when necessary libraries are present

    Greetings

    I have recently acquired a teensy 3.5 and wanted to experiment with the ADC functionality of it. I looked up general usage and snippets of code to look into this. I found a project written by someone (can be found at https://forum.pjrc.com/threads/55492...pected-results ) which sampled a 5kHz sinusoid wave and displayed it on the serial plotter. I have pasted the code below.

    //////////////////////////////////////////////////////////
    #include <ADC.h>

    #define SAMPLE_NO 1000

    const int readPin = A3;
    int j;
    float buffer[SAMPLE_NO];

    ADC *adc = new ADC();

    void setup() {

    //Read pin is A3 (pin 17) on Teensy 3.6
    //Oscilloscope signal generator attached to A3 and Analog GND
    pinMode(readPin, INPUT);
    delay(6000);
    Serial.begin(115200);
    Serial.println("Teeny beginning data acquisition...");

    //Configure ADC_0 for Continuous measurement
    adc->setAveraging(1);
    adc->setResolution(16);
    adc->setSamplingSpeed(ADC_SAMPLING_SPEED::LOW_SPEED) ;
    adc->setConversionSpeed(ADC_CONVERSION_SPEED::LOW_SPEE D);
    adc->setReference(ADC_REFERENCE::REF_1V2);
    adc->startContinuous(readPin, ADC_0);
    delay(1000);

    //Start measurement timer
    elapsedMicros dt;
    j = 0;
    uint16_t value;

    //Fill buffer with ADC_0 output values
    while (j < SAMPLE_NO) {
    value = (uint16_t) adc->analogReadContinuous(ADC_0);
    buffer[j] = value*1.2/adc->getMaxValue(ADC_0);
    j++;
    }

    adc->stopContinuous();

    //Convert buffer to float values and print to Serial
    Serial.print("Measurement time [us]: ");
    Serial.println(dt);
    Serial.println("Buffer Values [V]: ");

    for (int i = 0; i<SAMPLE_NO; i++) {
    Serial.println(buffer[i], 5);
    }

    Serial.println();


    }

    void loop() {}

    ///////////////////////End of code/////////////////////

    The person posted because they had observed an undersampled output, and was helped according, as one may find in the link. However, I have tried compiling the code on my IDE, and the IDE gives me errors of non-detection of the "setAveraging" til the "startContinuous" functions, saying it cannot be found in the ADC.h header. However, Ive even verified that I have the example-projects for the Teensy on my IDE, and all those projects use the functions (such as the setAveraging function) and compile just fine, using the ADC.h header only. Can someone please assist me in finding the potential cause for the header file not working in a certain project, but functional in another??

    I apologize for the long post, I have tried to be specific as possible, as I am aware this is an odd problem. Thank you, in advance.

  2. #2
    Senior Member
    Join Date
    May 2017
    Posts
    106
    Hello,

    check version of TD and ADC lib.
    Maybe same cause like in this thread: https://forum.pjrc.com/threads/59874...?highlight=ADC

  3. #3
    Oh thank you so much. Take care. That worked

  4. #4
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,621
    I am not a big user of ADC, but did do a few things to get the T4 supported...

    @pedvide - Wondering if we should see about adding back those members as depreciated members, as to not break so many existing programs.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •