RPi-HCSR04

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for RPi-HCSR04

3.1801    2026-06-12
        - Fixed undefined behavior in HCSR04.xs _setup(): RPI_PIN_MODE was
          re-stamped with putenv() of a stack buffer, leaving environ pointing
          at a dead frame after return; now uses setenv(), which copies its
          arguments
        - The test suite board gate is now RPI_BOARD (ecosystem-wide rename
          from PI_BOARD); the old name is no longer honored

2.3604  2017-08-05
        - fixed t/05-new.t. Missed it in last update.

2.3603  2017-08-04
        - modified tests with env var RPI_HCSR04, so that we don't test when it
          isn't feasible

HCSR04.xs  view on Meta::CPAN

    int setup_mode = -1;

    if (getenv("RPI_PIN_MODE"))
        setup_mode = atoi(getenv("RPI_PIN_MODE"));

    if (setup_mode == -1){
        if (wiringPiSetupGpio() == -1)
            exit(1);
    }
    else {
        /* setenv() copies its args; putenv() with a stack buffer left
           environ pointing at a dead frame once _setup() returned */
        char mode_value[12];
        sprintf(mode_value, "%d", setup_mode);
        setenv("RPI_PIN_MODE", mode_value, 1);
    }

    pinMode(trig, OUTPUT);
    pinMode(echo, INPUT);

    digitalWrite(trig, LOW);
    
    delay(30);
   
    return 1;



( run in 1.984 second using v1.01-cache-2.11-cpan-6aa56a78535 )