Exemple #1
0
static void sample(void)
{
    uint16_t distance = srf02_get_distance(&dev, TEST_MODE);
    if (distance != 0xFFFF) {
        printf("distance = %3i cm\n", distance);
    }
    else {
        printf("Sample failed!\n");
    }
}
void srf02_start_ranging(uint16_t ranging_mode)
{
    uint32_t distance = 0;

    while (1) {
        distance = srf02_get_distance(ranging_mode);

        if (distance != UINT32_MAX) {
            switch (ranging_mode) {
                case SRF02_REAL_RANGING_MODE_CM :
                    printf("distance = %lu cm\n", distance);
                    break;

                case SRF02_REAL_RANGING_MODE_INCH :
                    printf("distance = %lu inch\n", distance);
                    break;

                case SRF02_REAL_RANGING_MODE_MICRO_SEC:
                    // dist_m = 0.000172 distance_micro_sec (air)
                    printf("distance = %lu micro_sec\n", distance);
                    break;

                case SRF02_FAKE_RANGING_MODE_CM:
                case SRF02_FAKE_RANGING_MODE_INCH:
                case SRF02_FAKE_RANGING_MODE_MICRO_SEC:
                    printf("distance fake ranging = %lu \n", distance);
                    break;

                default:
                    printf("distance = %lu cm\n", distance);
            }

            hwtimer_wait(HWTIMER_TICKS(50000));
        }
        else {
            break;
        }
    }

    puts("The SRF02 range sampling is ended!!");
}
Exemple #3
0
int main(void)
{
    int res;
    puts("SRF02 ultrasonic ranger test application\n");
    printf("Initializing SRF02 sensor at I2C_%i... ", TEST_SRF02_I2C);
    res = srf02_init(&srf02_0, TEST_SRF02_I2C, SRF02_DEFAULT_ADDR, TEST_SRF02_SPEED);

    if (res < 0) {
        printf("[Failed]");
        return 1;
    }
    else {
        puts("[Ok]\n");

        while(1) {
            uint16_t distance = srf02_get_distance(&srf02_0, TEST_MODE);
            printf("distance = %i cm\n", distance);
            vtimer_usleep(SLEEP);
        }
    }
}
Exemple #4
0
static void sample(void)
{
    uint16_t distance = srf02_get_distance(&dev, TEST_MODE);
    printf("distance = %3i cm\n", distance);
}