ST VL53L3CX ਫਲਾਈਟ ਰੇਂਜਿੰਗ ਸੈਂਸਰ ਯੂਜ਼ਰ ਮੈਨੂਅਲ ਦਾ ਸਮਾਂ

ਜਾਣ-ਪਛਾਣ
VL53L3CX ਇੱਕ ਟਾਈਮ-ਆਫ-ਫਲਾਈਟ (ToF) ਰੇਂਜਿੰਗ ਸੈਂਸਰ ਮੋਡੀਊਲ ਹੈ।
ਇਸ ਯੂਜ਼ਰ ਮੈਨੂਅਲ ਦਾ ਉਦੇਸ਼ VL53L3CX ਬੇਅਰ ਡਰਾਈਵਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਰੇਂਜਿੰਗ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਾਲ ਕਰਨ ਲਈ ਏਕੀਕਰਣ ਮਾਡਲ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦੇ ਸੈੱਟ ਦਾ ਵਰਣਨ ਕਰਨਾ ਹੈ।
VL53L3CX ਸਿਸਟਮ ਵੱਧview
VL53L3CX ਸਿਸਟਮ VL53L3CX ਮੋਡੀਊਲ ਅਤੇ ਹੋਸਟ 'ਤੇ ਚੱਲ ਰਹੇ ਡਰਾਈਵਰ ਨਾਲ ਬਣਿਆ ਹੈ।
ਇਹ ਦਸਤਾਵੇਜ਼ ਡਿਵਾਈਸ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਅਤੇ ਗੈਰ-ਲੀਨਕਸ ਹੋਸਟਾਂ ਨਾਲ ਏਕੀਕਰਣ ਲਈ ਰੇਂਜਿੰਗ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਹੋਸਟ ਲਈ ਪਹੁੰਚਯੋਗ ਡਰਾਈਵਰ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ।

ਚਿੱਤਰ 1. VL53L3CX ਸਿਸਟਮ
ਨੋਟ:
ਮੌਜੂਦਾ ਦਸਤਾਵੇਜ਼ ਲਾਗੂ ਕੀਤੇ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ। ਡਰਾਈਵਰਾਂ ਵਿੱਚ ਉਪਲਬਧ ਕੋਈ ਹੋਰ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਜੇਕਰ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਰਣਨ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।
ਬੇਅਰ ਡ੍ਰਾਈਵਰ VL53L3CX ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਫੰਕਸ਼ਨਾਂ ਦੇ ਇੱਕ ਸੈੱਟ ਦਾ ਲਾਗੂਕਰਨ ਹੈ। ਇਹ OS ਏਕੀਕਰਣ ਅਤੇ ਸੇਵਾਵਾਂ 'ਤੇ ਘੱਟੋ-ਘੱਟ ਧਾਰਨਾਵਾਂ ਬਣਾਉਂਦਾ ਹੈ। ਜਿਵੇਂ ਕਿ, ਕਾਰਵਾਈਆਂ ਦੀ ਲੜੀ, ਐਗਜ਼ੀਕਿਊਸ਼ਨ/ਥ੍ਰੈਡਿੰਗ ਮਾਡਲ, ਪਲੇਟਫਾਰਮ ਅਨੁਕੂਲਨ, ਅਤੇ ਡਿਵਾਈਸ ਸਟ੍ਰਕਚਰ ਐਲੋਕੇਸ਼ਨ ਬੇਅਰ ਡਰਾਈਵਰ ਲਾਗੂ ਕਰਨ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹਨ ਪਰ ਇੰਟੀਗ੍ਰੇਟਰ ਲਈ ਖੁੱਲ੍ਹਾ ਛੱਡ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਬੇਅਰ ਡਰਾਈਵਰ ਕਾਲਾਂ ਦੀ ਕ੍ਰਮ ਨੂੰ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਨਿਯਮਾਂ ਦੇ ਇੱਕ ਸਮੂਹ ਦੀ ਪਾਲਣਾ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
ਰੇਂਜਿੰਗ ਕਾਰਜਾਤਮਕ ਵਰਣਨ
ਇਹ ਭਾਗ ਸੰਖੇਪ ਵਿੱਚ VL53L3CX ਰੇਂਜਿੰਗ ਡਿਵਾਈਸ ਦੀਆਂ ਕਾਰਜਸ਼ੀਲ ਸਮਰੱਥਾਵਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ।
ਰੇਂਜਿੰਗ ਕ੍ਰਮ
ਡਿਵਾਈਸ ਇੱਕ ਹੈਂਡਸ਼ੇਕ ਵਿਧੀ ਨਾਲ ਚੱਲ ਰਹੀ ਹੈ, ਇੱਕ ਸਟੈਂਡਰਡ ਇੰਟਰੱਪਟ ਮੈਨੇਜਮੈਂਟ ਸਕੀਮ ਦੇ ਅਧਾਰ ਤੇ।
ਹਰੇਕ ਰੇਂਜਿੰਗ ਤੋਂ ਬਾਅਦ, ਹੋਸਟ ਰੇਂਜਿੰਗ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਅਤੇ ਰੁਕਾਵਟ ਨੂੰ ਸਾਫ਼ ਕਰਕੇ ਅਗਲੀ ਰੇਂਜ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਹੈਂਡਸ਼ੇਕ ਮਕੈਨਿਜ਼ਮ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਅਗਲੀ ਰੇਂਜ ਫਿਰ ਚਾਲੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੇਕਰ ਮੌਜੂਦਾ ਇੱਕ ਪੂਰਾ ਹੋ ਗਿਆ ਹੈ ਅਤੇ ਜੇਕਰ ਹੋਸਟ ਨੇ ਪਿਛਲੀ ਲੰਬਿਤ ਰੁਕਾਵਟ ਨੂੰ ਸਾਫ਼ ਕਰ ਦਿੱਤਾ ਹੈ।
ਇੰਟਰੱਪਟ ਮਕੈਨਿਜ਼ਮ ਸੰਚਾਰ ਜਾਂ ਅਸਿੰਕ੍ਰੋਨਿਜ਼ਮ ਮੁੱਦਿਆਂ ਦੇ ਕਾਰਨ ਕੋਈ ਵੀ ਸੀਮਾ ਮੁੱਲ ਗੁਆਏ ਬਿਨਾਂ, ਤੇਜ਼ੀ ਨਾਲ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਹੈਂਡਸ਼ੇਕ ਪੜਾਅ ਦੇ ਦੌਰਾਨ, ਹੋਸਟ ਕੁਝ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਕਰਦਾ ਹੈ। ਰੇਂਜਿੰਗ ਕ੍ਰਮ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਕਾਰਜਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।

ਹੈਂਡਸ਼ੇਕ ਕ੍ਰਮ ਅੰਦਰੂਨੀ ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਗਣਨਾ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਅਗਲੀ ਰੇਂਜ ਲਈ ਲਾਗੂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਹੈਂਡਸ਼ੇਕ ਨੰਗੇ ਡਰਾਈਵਰ ਦੇ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਨਵਾਂ ਮਾਪ ਪ੍ਰਾਪਤ ਹੋਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਨਵੀਂ ਰੇਂਜ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਵਿੱਚ ਦੇਰੀ ਸਮੁੱਚੇ ਸਿਸਟਮ ਮਾਪ ਦਰ ਦੀ ਕੁੰਜੀ ਹੈ।
ਸਮੇਂ ਦੇ ਵਿਚਾਰ
ਸਮਾਂ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ ਚਿੱਤਰ 3 ਵਿੱਚ. ਰੇਂਜਿੰਗ ਕ੍ਰਮ ਅਤੇ ਸਮੇਂ ਦੇ ਟੀਚੇ।
ਹੋਸਟ ਮੌਜੂਦਾ ਰੇਂਜ ਦੀ ਅਵਧੀ (ਰੇਂਜਿੰਗ ਟਾਈਮਿੰਗ ਬਜਟ) ਦੇ ਦੌਰਾਨ ਨਵੀਨਤਮ ਉਪਲਬਧ ਰੇਂਜ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ।
ਜੇਕਰ ਮੇਜ਼ਬਾਨ ਦੁਆਰਾ ਰੁਕਾਵਟ ਨੂੰ ਕਲੀਅਰ ਕਰਨ ਵਿੱਚ ਦੇਰੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਅਗਲੀ ਰੇਂਜ ਉਦੋਂ ਤੱਕ ਰੁਕ ਜਾਵੇਗੀ ਜਦੋਂ ਤੱਕ ਬਕਾਇਆ ਰੁਕਾਵਟ ਸਾਫ਼ ਨਹੀਂ ਹੋ ਜਾਂਦੀ।
ਨੋਟ: ਸਮਾਂ ਦਰਸਾਏ ਗਏ ਚਿੱਤਰ 3 ਵਿੱਚ. ਰੇਂਜਿੰਗ ਕ੍ਰਮ ਅਤੇ ਸਮੇਂ ਦੇ ਟੀਚੇ ਆਮ ਸਮੇਂ ਹਨ। ਹੋਸਟ ਸੈਕਸ਼ਨ 5.1 ਟਾਈਮਿੰਗ ਬਜਟ ਵਿੱਚ ਵਰਣਿਤ ਇੱਕ ਸਮਰਪਿਤ ਡਰਾਈਵਰ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਫੌਲਟ ਟਾਈਮਿੰਗ ਬਜਟ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ। ਹੋਸਟ ਜਾਂ ਤਾਂ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਸਮਕਾਲੀ ਕਰਨ ਲਈ ਜਾਂ ਰੇਂਜਿੰਗ ਸ਼ੁੱਧਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਟਾਈਮਿੰਗ ਬਜਟ ਨੂੰ ਬਦਲਣ ਦਾ ਫੈਸਲਾ ਕਰ ਸਕਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ, “ਬੂਟ”, “SW ਸਟੈਂਡਬਾਏ” ਅਤੇ “ਇਨਿਟ” 40 ms ਤੱਕ ਚੱਲਦਾ ਹੈ। ਡਿਵਾਈਸ ਦੀ ਸਹੀ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਇਹ ਸਮਾਂ ਲੋੜੀਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਪਲੇਟਫਾਰਮ ਜਾਂ ਵਰਤੇ ਗਏ ਸਮੇਂ ਦੇ ਬਜਟ ਤੋਂ ਸੁਤੰਤਰ ਹੈ। ਪਹਿਲੀ ਰੇਂਜ, “ਰੇਂਜ1”, ਵੈਧ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਰੈਪ-ਅਰਾਉਂਡ ਜਾਂਚ ਸੰਭਵ ਨਹੀਂ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਪਹਿਲਾ ਵੈਧ ਰੇਂਜਿੰਗ ਵੈਲਯੂ "ਰੇਂਜ2" ਹੈ, ਜੋ ਕਿ 40 ms ਅਤੇ ਟਾਈਮਿੰਗ ਬਜਟ ਅਵਧੀ ਦੇ ਦੁੱਗਣੇ ਤੋਂ ਬਾਅਦ ਉਪਲਬਧ ਹੈ।

ਚਿੱਤਰ 3. ਰੇਂਜਿੰਗ ਕ੍ਰਮ ਅਤੇ ਸਮੇਂ ਦੇ ਟੀਚੇ
ਬੇਅਰ ਡਰਾਈਵਰ ਬੁਨਿਆਦੀ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵੇਰਵਾ
ਇਹ ਭਾਗ ਡ੍ਰਾਈਵਰ ਫੰਕਸ਼ਨਾਂ ਦੇ ਕਾਲ ਵਹਾਅ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਰੇਂਜਿੰਗ ਮਾਪ ਕਰਨ ਲਈ ਪਾਲਣਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ
VL53L3CX ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ।
VL53L3CX ਡਰਾਈਵਰ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀਆਂ ਦੋ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:
- ਡਿਵਾਈਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਲਈ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਫੈਕਟਰੀ ਐਪਲੀਕੇਸ਼ਨਾਂ, ਖਾਸ ਤੌਰ 'ਤੇ ਅੰਤਮ ਉਤਪਾਦ ਨਿਰਮਾਣ ਟੈਸਟ (ਫੈਕਟਰੀ ਪ੍ਰਵਾਹ) 'ਤੇ
- ਫੀਲਡ ਐਪਲੀਕੇਸ਼ਨ, ਜੋ VL53L3CX ਡਿਵਾਈਸ (ਰੇਂਜਿੰਗ ਫਲੋ) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਾਰੇ ਅੰਤਮ-ਉਪਭੋਗਤਾ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਇਕੱਠਾ ਕਰਦੀਆਂ ਹਨ
ਨੰਗੇ ਡਰਾਈਵਰ
ਬੇਅਰ ਡ੍ਰਾਈਵਰ ਫੈਕਟਰੀ ਦੇ ਪ੍ਰਵਾਹ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।

ਚਿੱਤਰ 4. VL53L3CX API ਰੇਂਜਿੰਗ ਫਲੋ (ਫੈਕਟਰੀ)
ਨੋਟ: ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਵਹਾਅ ਦੂਰੀ ਮੋਡ ਨੂੰ ਬਦਲਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ SetDistanceMode() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਬੇਅਰ ਡਰਾਈਵਰ ਰੇਂਜਿੰਗ ਵਹਾਅ ਨੂੰ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।

ਚਿੱਤਰ 5. VL53L3CX API ਰੇਂਜਿੰਗ ਫਲੋ (ਫੀਲਡ)
ਸਿਸਟਮ ਦੀ ਸ਼ੁਰੂਆਤ
ਨਿਮਨਲਿਖਤ ਭਾਗ ਇੱਕ ਮਾਪ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਸਿਸਟਮ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ API ਫੰਕਸ਼ਨ ਕਾਲਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਬੂਟ ਲਈ ਉਡੀਕ ਕਰੋ
VL53LX_WaitDeviceBooted() ਫੰਕਸ਼ਨ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡਿਵਾਈਸ ਬੂਟ ਹੋ ਗਈ ਹੈ ਅਤੇ ਤਿਆਰ ਹੈ। ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਨਹੀਂ ਹੈ।
ਨੋਟ: ਇਹ ਫੰਕਸ਼ਨ ਹੋਸਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਰੋਕਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ 4 ms ਤੋਂ ਵੱਧ ਲਈ ਬਲੌਕ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ, ਇਹ ਮੰਨ ਕੇ:
- 400 kHz I2C ਬਾਰੰਬਾਰਤਾ
- ਪ੍ਰਤੀ ਲੈਣ-ਦੇਣ 2 ms ਲੇਟੈਂਸੀ
ਡਾਟਾ ਸ਼ੁਰੂ
VL53LX_DataInit() ਫੰਕਸ਼ਨ ਨੂੰ ਹਰ ਵਾਰ ਕਾਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜਦੋਂ ਡਿਵਾਈਸ "ਸ਼ੁਰੂਆਤੀ ਬੂਟ" ਸਥਿਤੀ ਤੋਂ ਬਾਹਰ ਜਾਂਦੀ ਹੈ। ਇਹ ਡਿਵਾਈਸ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰਦਾ ਹੈ। VL53LX_DataInit() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਨੂੰ ਫੰਕਸ਼ਨ VL53LX_SetCalibrationData() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੋਡ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।
VL53L3CX ਨਾਲ ਰੇਂਜਿੰਗ
ਗੈਰ-ਲੀਨਕਸ ਮੇਜ਼ਬਾਨਾਂ 'ਤੇ, ਬੇਅਰ ਡ੍ਰਾਈਵਰ ਕ੍ਰਮ ਦਾ ਉਪਭੋਗਤਾ ਡ੍ਰਾਈਵਰ ਨੂੰ ਇਸ ਤਰੀਕੇ ਨਾਲ ਕਾਲ ਕਰਦਾ ਹੈ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਜ਼ਰੂਰਤਾਂ, ਪਲੇਟਫਾਰਮ ਸਮਰੱਥਾਵਾਂ ਅਤੇ ਬੇਅਰ ਡਰਾਈਵਰ ਕਾਲ ਕ੍ਰਮ ਨਿਯਮਾਂ ਲਈ ਢੁਕਵਾਂ ਹੈ।
ਇੱਕ ਮਾਪ ਸ਼ੁਰੂ ਕਰੋ
VL53LX_StartMeasurement() ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਮਾਪ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਕਾਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਨਤੀਜੇ ਦੀ ਉਡੀਕ ਕਰੋ: ਪੋਲਿੰਗ ਜਾਂ ਰੁਕਾਵਟ
ਇਹ ਜਾਣਨ ਦੇ 3 ਤਰੀਕੇ ਹਨ ਕਿ ਇੱਕ ਮਾਪ ਉਪਲਬਧ ਹੈ। ਹੋਸਟ ਇਹ ਕਰ ਸਕਦਾ ਹੈ:
- ਇੱਕ ਪੋਲਿੰਗ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰੋ
- ਇੱਕ ਡਰਾਈਵਰ ਫੰਕਸ਼ਨ 'ਤੇ ਪੋਲ
- ਇੱਕ ਭੌਤਿਕ ਰੁਕਾਵਟ ਲਈ ਉਡੀਕ ਕਰੋ
ਨਤੀਜੇ ਦੀ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਡਰਾਈਵਰ ਪੋਲਿੰਗ
ਫੰਕਸ਼ਨ VL53LX_WaitMeasurementDataReady() ਇੱਕ ਮਾਪ ਤਿਆਰ ਹੋਣ ਤੱਕ ਅੰਦਰੂਨੀ ਸਥਿਤੀ 'ਤੇ ਪੋਲਿੰਗ ਕਰ ਰਿਹਾ ਹੈ।
ਨੋਟ: ਇਹ ਫੰਕਸ਼ਨ ਬਲਾਕ ਕਰ ਰਿਹਾ ਹੈ, ਕਿਉਂਕਿ ਅੰਦਰੂਨੀ ਪੋਲਿੰਗ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਨਤੀਜੇ ਦੀ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਪੋਲਿੰਗ ਦੀ ਮੇਜ਼ਬਾਨੀ ਕਰੋ
ਹੋਸਟ ਇਹ ਜਾਣਨ ਲਈ VL53LX_GetMeasurementDataReady() ਫੰਕਸ਼ਨ 'ਤੇ ਪੋਲ ਕਰ ਸਕਦਾ ਹੈ ਜਦੋਂ ਨਵਾਂ ਮਾਪ ਤਿਆਰ ਹੁੰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਬਲੌਕ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ।
ਸਰੀਰਕ ਰੁਕਾਵਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਰੇਂਜਿੰਗ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਇੱਕ ਵਿਕਲਪਿਕ ਅਤੇ ਤਰਜੀਹੀ ਤਰੀਕਾ ਭੌਤਿਕ ਰੁਕਾਵਟ ਆਉਟਪੁੱਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ। ਮੂਲ ਰੂਪ ਵਿੱਚ, GPIO1 ਘੱਟ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਨਵਾਂ ਮਾਪ ਤਿਆਰ ਹੁੰਦਾ ਹੈ।
ਇਹ ਪਿੰਨ ਸਿਰਫ ਇੱਕ ਆਉਟਪੁੱਟ ਪਿੰਨ ਹੈ, ਇਸ ਡਿਵਾਈਸ ਤੇ ਕੋਈ ਇਨਪੁਟ ਇੰਟਰੱਪਟ ਪਿੰਨ ਨਹੀਂ ਹੈ। ਡ੍ਰਾਈਵਰ ਫੰਕਸ਼ਨ VL53LX_ClearInterruptAndStartMeasurement() ਨੂੰ ਕਾਲ ਕਰਕੇ ਰੁਕਾਵਟ ਨੂੰ ਸਾਫ਼ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਮਾਪ ਪ੍ਰਾਪਤ ਕਰੋ
ਪ੍ਰਤੀ ਰੇਂਜ ਵਿੱਚ ਕਈ ਵਸਤੂਆਂ ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਮਾਪ ਡੇਟਾ ਪ੍ਰਤੀ ਆਬਜੈਕਟ ਦੀ ਰਿਪੋਰਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ VL53LX_GetMultiRangingData() ਨੂੰ ਰੇਂਜਿੰਗ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜਦੋਂ ਮਲਟੀਪਲ ਆਬਜੈਕਟ ਦੇ ਖੇਤਰ ਵਿੱਚ ਹੁੰਦੇ ਹਨ view. ਜਦੋਂ ਡਿਵਾਈਸ ਨੂੰ ਮਲਟੀਪਲ ਰੇਂਜਿੰਗ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ VL53LX_MultiRangingData_t ਨਾਮਕ ਢਾਂਚਾ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਇੱਕ ਮਾਪ ਰੋਕੋ
ਨਿਰੰਤਰ ਮੋਡ ਵਿੱਚ, ਹੋਸਟ VL53LX_StopMeasurement() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਕੇ ਮਾਪ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਕਿਸੇ ਰੇਂਜ ਮਾਪ ਦੇ ਦੌਰਾਨ ਸਟਾਪ ਦੀ ਬੇਨਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਮਾਪ ਤੁਰੰਤ ਬੰਦ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।
ਰੇਂਜਿੰਗ ਡੇਟਾ ਢਾਂਚੇ
VL53LX_MultiRangingData_t ਨਾਮਕ ਢਾਂਚੇ ਵਿੱਚ ਖੋਜੇ ਗਏ ਸਾਰੇ ਟੀਚਿਆਂ 'ਤੇ ਲਾਗੂ ਹੋਣ ਵਾਲੇ ਹੇਠਾਂ ਦਿੱਤੇ ਡੇਟਾ ਸ਼ਾਮਲ ਹਨ:
- ਸਮਾਂ Stamp: ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।
- ਸਟ੍ਰੀਮ ਦੀ ਗਿਣਤੀ: ਇਹ 8-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹਰੇਕ ਰੇਂਜ 'ਤੇ ਕਾਊਂਟਰ ਵਧਾਉਂਦਾ ਹੈ। ਮੁੱਲ 0 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, 1 ਦੁਆਰਾ 1 ਨੂੰ ਵਧਾ ਕੇ 255 ਤੱਕ। ਜਦੋਂ ਇਹ 255 ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਇਹ 128 ਤੋਂ 255 ਤੱਕ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।
- ਮਿਲੀਆਂ ਵਸਤੂਆਂ ਦੀ ਸੰਖਿਆ: 8-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਮੁੱਲ ਜੋ ਲੱਭੀਆਂ ਵਸਤੂਆਂ ਦੀ ਸੰਖਿਆ ਦਿੰਦਾ ਹੈ।
- ਰੇਂਜ ਡੇਟਾ [VL53LX_MAX_RANGE_RESULTS]: VL53LX_TargetRangeData_t ਕਿਸਮ ਦੀ ਬਣਤਰ ਦੀ ਇੱਕ ਸਾਰਣੀ। ਟੀਚਿਆਂ ਦੀ ਅਧਿਕਤਮ ਸੰਖਿਆ VL53LX_MAX_RANGE_RESULTS ਦੁਆਰਾ ਦਿੱਤੀ ਗਈ ਹੈ, ਅਤੇ ਮੂਲ ਰੂਪ ਵਿੱਚ 4 ਦੇ ਬਰਾਬਰ ਹੈ।
- ਕੀ X ਟਾਕ ਮੁੱਲ ਬਦਲਿਆ ਹੈ: 8-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਮੁੱਲ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕੀ ਕ੍ਰਾਸਸਟਾਲ ਮੁੱਲ ਬਦਲਿਆ ਗਿਆ ਹੈ।
- ਪ੍ਰਭਾਵਸ਼ਾਲੀ Spad Rtn ਗਿਣਤੀ: 16-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਜੋ ਮੌਜੂਦਾ ਰੇਂਜ ਲਈ ਪ੍ਰਭਾਵੀ ਸਿੰਗਲ ਫੋਟੌਨ ਐਵਲੈਂਚ ਡਾਇਓਡ (SPAD) ਗਿਣਤੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅਸਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸਨੂੰ 256 ਨਾਲ ਵੰਡਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
VL4LX_TargetRangeData_t ਪ੍ਰਤੀ ਟੀਚਾ ਖੋਜਿਆ ਗਿਆ ਇੱਕ ਢਾਂਚਾ (ਪੂਰਵ-ਨਿਰਧਾਰਤ ਰੂਪ ਵਿੱਚ 53 ਤੱਕ) ਜਿਸ ਵਿੱਚ ਖੋਜੇ ਗਏ ਹਰੇਕ ਟੀਚੇ ਲਈ ਨਿਮਨਲਿਖਤ ਖਾਸ ਨਤੀਜੇ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
- ਰੇਂਜਮੈਕਸਮਿਲੀਮੀਟਰ: ਇੱਕ 16-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹੈ, ਜੋ ਵੱਡੀ ਖੋਜੀ ਦੂਰੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
- ਰੇਂਜ ਮਿਨ ਮਿੱਲੀਮੀਟਰ: ਇੱਕ 16-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹੈ, ਜੋ ਛੋਟੀ ਖੋਜੀ ਦੂਰੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
- SignalRateRtnMegaCps: ਇਹ ਮੁੱਲ MegaCountPer Second (MCPS) ਵਿੱਚ ਵਾਪਸੀ ਸਿਗਨਲ ਦਰ ਹੈ, ਇਹ ਇੱਕ 16.16 ਫਿਕਸ ਪੁਆਇੰਟ ਮੁੱਲ ਹੈ। ਅਸਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਨੂੰ 65536 ਨਾਲ ਵੰਡਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- AmbientRateRtnMegaCps: ਇਹ ਮੁੱਲ ਵਾਪਸੀ ਅੰਬੀਨਟ ਦਰ ਹੈ (MCPS ਵਿੱਚ), ਇਹ ਇੱਕ 16.16 ਫਿਕਸ ਪੁਆਇੰਟ ਮੁੱਲ ਹੈ, ਜੋ ਕਿ ਸੰਵੇਦਕ ਦੁਆਰਾ ਮਾਪੀ ਗਈ ਅੰਬੀਨਟ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਦਾ ਪ੍ਰਭਾਵੀ ਮਾਪ ਹੈ। ਅਸਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਨੂੰ 65536 ਨਾਲ ਵੰਡਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਸਿਗਮਾਮਿਲੀਮੀਟਰ: ਇਹ 16.16 ਫਿਕਸ ਪੁਆਇੰਟ ਮੁੱਲ ਮੌਜੂਦਾ ਰੇਂਜ ਦੇ ਮਿਆਰੀ ਵਿਵਹਾਰ ਦਾ ਅਨੁਮਾਨ ਹੈ, ਮਿਲੀਮੀਟਰ ਵਿੱਚ ਪ੍ਰਗਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਅਸਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਨੂੰ 65536 ਨਾਲ ਵੰਡਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਰੇਂਜਮਿਲੀਮੀਟਰ: ਮਿਲੀਮੀਟਰ ਵਿੱਚ ਰੇਂਜ ਦੀ ਦੂਰੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਇੱਕ 16-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹੈ।
- ਰੇਂਜ ਸਥਿਤੀ: ਇਹ ਇੱਕ 8-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹੈ ਜੋ ਮੌਜੂਦਾ ਮਾਪ ਲਈ ਰੇਂਜ ਸਥਿਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਮੁੱਲ = 0 ਦਾ ਮਤਲਬ ਰੇਂਜਿੰਗ ਵੈਧ ਹੈ। ਸਾਰਣੀ 1 ਦੇਖੋ। ਰੇਂਜ ਸਥਿਤੀ।
- ਵਿਸਤ੍ਰਿਤ ਰੇਂਜ: ਇਹ ਇੱਕ 8-ਬਿੱਟ ਪੂਰਨ ਅੰਕ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕੀ ਰੇਂਜ ਨੂੰ ਲਪੇਟਿਆ ਗਿਆ ਹੈ (ਸਿਰਫ਼ ਲੰਬੀ ਦੂਰੀ ਲਈ)
ਇੱਕ ਖਾਸ ਵਿਵਹਾਰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਨਿਸ਼ਾਨਾ ਖੋਜਿਆ ਨਹੀਂ ਜਾਂਦਾ ਹੈ. ਜੇਕਰ ਟੀਚਾ ਖੋਜਿਆ ਨਹੀਂ ਗਿਆ ਹੈ, ਅਤੇ ਮਾਪ ਵੈਧ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਮੁੱਲ VL53LX_TargetRangeData_t ਢਾਂਚੇ ਵਿੱਚ ਰਿਪੋਰਟ ਕੀਤੇ ਗਏ ਹਨ:
- ਰੇਂਜਮੈਕਸਮਿਲੀਮੀਟਰ: 8191 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- ਰੇਂਜ ਮਿਨਮਿਲੀਮੀਟਰ: 8191 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- SignalRateRtnMegaCps: 0 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- AmbientRateRtnMegaCps: ਅੰਬੀਨਟ ਰੇਟ ਮੁੱਲ ਦੀ ਆਮ ਤੌਰ 'ਤੇ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਸਿਗਮਾਮਿਲੀਮੀਟਰ: 0 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- ਰੇਂਜਮਿਲੀਮੀਟਰ: 8191 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- ਰੇਂਜ ਸਥਿਤੀ: 255 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
- ਵਿਸਤ੍ਰਿਤ ਰੇਂਜ: 0 ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ।
ਸਾਰਣੀ 1. ਰੇਂਜ ਸਥਿਤੀ
| ਮੁੱਲ | ਰੇਂਜ ਸਥਿਤੀ ਸਤਰ | ਟਿੱਪਣੀ |
| 0 | VL53LX_RANGESTATUS_RANGE_VALID | ਰੇਂਜਿੰਗ ਮਾਪ ਵੈਧ ਹੈ |
| 1 | VL53LX_RANGESTATUS_SIGMA_FAIL | ਜੇ ਸਿਗਮਾ ਅਨੁਮਾਨਕ ਜਾਂਚ ਅੰਦਰੂਨੀ ਪਰਿਭਾਸ਼ਿਤ ਥ੍ਰੈਸ਼ਹੋਲਡ ਤੋਂ ਉੱਪਰ ਹੈ ਤਾਂ ਵਧਾਇਆ ਜਾਂਦਾ ਹੈ। ਸਿਗਮਾ ਅਨੁਮਾਨਕ ਸਿਗਨਲ ਬਾਰੇ ਗੁਣਾਤਮਕ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈ। |
| 2 | VL53LX_RANGESTATUS_SIGNAL_FAIL | ਜਦੋਂ ਨਿਸ਼ਾਨਾ ਖੋਜਣ ਲਈ ਸਿਗਨਲ ਬਹੁਤ ਘੱਟ ਹੁੰਦਾ ਹੈ ਤਾਂ ਉਭਾਰਿਆ ਜਾਂਦਾ ਹੈ। |
| 4 | VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL | ਜਦੋਂ ਰੇਂਜ ਨਤੀਜਾ ਸੀਮਾ ਤੋਂ ਬਾਹਰ ਹੁੰਦਾ ਹੈ ਤਾਂ ਉਭਾਰਿਆ ਜਾਂਦਾ ਹੈ |
| 5 | VL53LX_RANGESTATUS_HARDWARE_FAIL | HW ਜਾਂ VCSEL ਅਸਫਲਤਾ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਉਠਾਇਆ ਗਿਆ |
| 6 | VL53LX_RANGESTATUS_RANGE_VALID_NO_WR AP_CHECK_FAIL | ਕੋਈ ਰੈਪਰਾਉਂਡ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ (ਇਹ ਸਭ ਤੋਂ ਪਹਿਲੀ ਸੀਮਾ ਹੈ) |
| 7 | VL53LX_RANGESTATUS_WRAP_TARGET_FAIL | ਰੈਪਰਾਉਂਡ ਹੋਇਆ |
| 8 | VL53LX_RANGESTATUS_PROCESSING_FAIL | ਅੰਦਰੂਨੀ ਪ੍ਰੋਸੈਸਿੰਗ ਗਲਤੀ |
| 10 | VL53LX_RANGESTATUS_SYNCRONISATION_INT | init ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਾਰ ਵਧਾਇਆ ਗਿਆ, ਰੇਂਜਿੰਗ ਮੁੱਲ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨਾ ਪੈਂਦਾ ਹੈ |
| 11 | VL53LX_RANGESTATUS_RANGE_VALID_MERGE D_PULSE | ਰੇਂਜਿੰਗ ਠੀਕ ਹੈ, ਪਰ ਰਿਪੋਰਟ ਕੀਤੀ ਗਈ ਦੂਰੀ ਮਲਟੀਪਲ ਟੀਚਿਆਂ ਦੇ ਵਿਲੀਨ ਹੋਣ ਦਾ ਨਤੀਜਾ ਹੈ। |
| 12 | VL53LX_RANGESTATUS_TARGET_PRESENT_LA CK_OF_SIGNAL | ਸੰਕੇਤ ਕਰੋ ਕਿ ਇੱਕ ਟੀਚਾ ਹੈ, ਪਰ ਰੇਂਜ ਦੀ ਰਿਪੋਰਟ ਕਰਨ ਲਈ ਸਿਗਨਲ ਬਹੁਤ ਘੱਟ ਹੈ |
| 14 | VL53LX_RANGESTATUS_RANGE_INVALID | ਰੇਂਜਿੰਗ ਡੇਟਾ ਨਕਾਰਾਤਮਕ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ |
| 255 | VL53LX_RANGESTATUS_NONE | ਨਿਸ਼ਾਨਾ ਖੋਜਿਆ ਨਹੀਂ ਗਿਆ, ਬਿਨਾਂ ਚੇਤਾਵਨੀ ਜਾਂ ਤਰੁਟੀ ਉਠਾਏ ਗਏ |
ਸਭ ਤੋਂ ਪਹਿਲੇ ਮਾਪ ਵਿੱਚ ਰੈਪਰਾਉਂਡ ਜਾਂਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਇਸ ਰੇਂਜ ਮਾਪ ਨੂੰ ਰੱਦ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਨੋਟ: ਰੇਂਜ ਸਥਿਤੀ 1 ਅਕਸਰ ਰੌਲੇ-ਰੱਪੇ ਵਾਲੇ ਮਾਪਾਂ ਕਾਰਨ ਹੁੰਦੀ ਹੈ। ਸਿਗਮਾ ਅਨੁਮਾਨਕ ਇਲਾਜ ਕੀਤੇ ਸਿਗਨਲਾਂ ਦੇ SNR ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦਾ ਹੈ।
ਨੋਟ: ਰੇਂਜ ਸਥਿਤੀ 4 ਨੂੰ ਉਦੋਂ ਵਧਾਇਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਮਾਪ ਸੰਦਰਭ 'ਤੇ ਕੁਝ ਗਲਤੀ ਹੁੰਦੀ ਹੈ। ਇਹ ਆਊਟਲੀਅਰ ਨੂੰ ਨਕਾਰਾਤਮਕ ਮਾਪਾਂ ਜਾਂ ਬਹੁਤ ਉੱਚ ਰੇਂਜਿੰਗ ਮੁੱਲਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ।
ਵਾਧੂ ਡਰਾਈਵਰ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵੇਰਵਾ
ਟਾਈਮਿੰਗ ਬਜਟ
ਸਮਾਂ ਬਜਟ ਇੱਕ ਸੀਮਾ ਮਾਪ ਕਰਨ ਲਈ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤਾ ਗਿਆ ਸਮਾਂ ਹੈ। VL53LX_SetMeasurementTimingBudgetMicroSeconds() ਉਹ ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਟਾਈਮਿੰਗ ਬਜਟ ਸੈੱਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਡਿਫੌਲਟ ਟਾਈਮਿੰਗ ਬਜਟ ਮੁੱਲ 33 ms ਹੈ। ਨਿਊਨਤਮ 8 ms, ਅਧਿਕਤਮ 500 ms ਹੈ।
ਸਾਬਕਾ ਲਈample, ਟਾਈਮਿੰਗ ਬਜਟ ਨੂੰ 66 ms 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ: status = VL53LX_SetMeasurementTimingBudgetMicroSeconds(&VL53L3Dev, 66000);
ਫੰਕਸ਼ਨ VL53LX_GetMeasurementTimingBudgetMicroSeconds() ਪ੍ਰੋਗਰਾਮ ਕੀਤੇ ਟਾਈਮਿੰਗ ਬਜਟ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ।
ਦੂਰੀ .ੰਗ
ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਬੇਨਤੀ ਕੀਤੀ ਦੂਰੀ ਦੇ ਅਧਾਰ ਤੇ ਅੰਦਰੂਨੀ ਸੈਟਿੰਗਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ ਇੱਕ ਫੰਕਸ਼ਨ ਜੋੜਿਆ ਗਿਆ ਹੈ। ਦੂਰੀ ਮੋਡ ਨੂੰ ਬਦਲਣ ਦੇ ਲਾਭ ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਹਨ।
ਸਾਰਣੀ 2. ਦੂਰੀ ਮੋਡ
| ਸੰਭਵ ਦੂਰੀ ਮੋਡ | ਲਾਭ / ਟਿੱਪਣੀਆਂ |
| ਛੋਟਾ | ਬਿਹਤਰ ਅੰਬੀਨਟ ਇਮਿਊਨਿਟੀ |
| ਦਰਮਿਆਨੇ (ਮੂਲ) | ਵੱਧ ਤੋਂ ਵੱਧ ਦੂਰੀ |
| ਲੰਬੀ | ਘੱਟ ਬਿਜਲੀ ਦੀ ਖਪਤ |
ਵਰਤਣ ਲਈ ਫੰਕਸ਼ਨ ਨੂੰ VL53LX_SetDistanceMode() ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਡਰਾਈਵਰ ਹੋਸਟ ਦੀ ਸਰਵੋਤਮ ਦੂਰੀ ਮੋਡ ਦੀ ਚੋਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ। ਅੰਬੀਨਟ ਸਥਿਤੀਆਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪ ਦਰਸਾਉਣ ਲਈ ਹਰੇਕ ਰੇਂਜ 'ਤੇ ਇੱਕ ਖਾਸ ਮੁੱਲ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਸੰਭਵ ਮੁੱਲ ਹਨ:
- VL53LX_DISTANCE_SHORT
- VL53LX_DISTANCE_MEDIUM
- VL53LX_DISTANCE_LONG
ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ
ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਸੈਂਸਰ ਅਤੇ ਹੋਸਟ ਵਰਤੋਂ ਕੇਸ ਦੇ ਵਿਚਕਾਰ ਸਭ ਤੋਂ ਵਧੀਆ ਫਿੱਟ ਲੱਭਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਹਰੇਕ ਵਰਤੋਂ ਦੇ ਕੇਸ ਲਈ, ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰਾਂ ਦਾ ਇੱਕ ਸੈੱਟ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਡਰਾਈਵਰ ਵਿੱਚ ਲੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਟਿਊਨੇਬਲ ਥ੍ਰੈਸ਼ਹੋਲਡ ਹਨ, ਜੋ ਸਿਗਨਲ ਟ੍ਰੀਟਮੈਂਟ ਐਲਗੋਰਿਦਮ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਇਹਨਾਂ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸੋਧਣਾ ਐਲਗੋਰਿਦਮ ਨੂੰ ਖਾਸ ਗਾਹਕ ਵਰਤੋਂ ਦੇ ਕੇਸ ਲਈ ਤਕਨੀਕੀ ਵਪਾਰ ਬੰਦ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਇੱਕ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਸੈੱਟ ਕਰੋ
ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਲੋਡ ਕਰਨ ਲਈ ਇੱਕ ਵਾਧੂ ਫੰਕਸ਼ਨ ਮੌਜੂਦ ਹੈ। ਖਾਸ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਲਈ, ST ਕੁੰਜੀ ਅਤੇ ਮੁੱਲ ਦੇ ਬਣੇ ਕੁਝ ਖਾਸ ਮਾਪਦੰਡਾਂ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰ ਸਕਦਾ ਹੈ।
ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਮੂਲ ਮੁੱਲਾਂ ਦੀ ਸੂਚੀ vl53lx_tuning_parm_defaults.h ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਹੈ। file. ਜਾਂ ਤਾਂ ਇਸ ਵਿੱਚ ਇੱਕ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਮੁੱਲ ਬਦਲੋ file ਅਤੇ ਕੋਡ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰੋ, ਜਾਂ ਇਸ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ VL53LX_SetTuningParameter() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਨੂੰ ਬਦਲਣਾ ਡਿਵਾਈਸ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦਾ ਹੈ। ST ਅਨੁਕੂਲ ਨਤੀਜਿਆਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਮੁੱਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।
ਸ਼ੁੱਧਤਾ ਵਿੱਚ ਸੁਧਾਰ
ਡਿਵਾਈਸ ਦੀ ਸ਼ੁੱਧਤਾ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, VL53LX_TUNINGPARM_PHASECAL_PATCH_POWER ਨਾਮਕ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਮੂਲ ਰੂਪ ਵਿੱਚ ਇਹ ਟਿਊਨਿੰਗ ਪੈਰਾਮੀਟਰ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦਾ (ਮੁੱਲ 0 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ)।
ST static_init ਤੋਂ ਬਾਅਦ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਅਤੇ ਰੇਂਜਿੰਗ ਵਹਾਅ ਦੇ ਮੁੱਲਾਂ ਨੂੰ 2 'ਤੇ ਸੈੱਟ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸੰਦਰਭ ਸੰਕੇਤ ਮਾਪ ਕਰਨ ਦਾ ਸਮਾਂ ਵਧਾਇਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਬਿਹਤਰ ਸ਼ੁੱਧਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ 2 'ਤੇ ਸੈੱਟ ਕਰਨ ਨਾਲ ਪਹਿਲਾ ਮਾਪ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਮਿਆਦ 240 ms ਤੱਕ ਵਧ ਜਾਂਦੀ ਹੈ।
ਲੇਟੈਂਸੀ ਅਤੇ ਅਧਿਕਤਮ ਰੇਂਜਿੰਗ ਦੂਰੀ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ
ਜਦੋਂ ਟੀਚਾ ਹਿੱਲ ਰਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਸੀਨ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, VL53L3CX ਨੂੰ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਲਈ ਕਈ ਰੇਂਜਾਂ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਲੇਟੈਂਸੀ ਨੂੰ ਸੁਧਾਰਨ ਦਾ ਇੱਕ ਤਰੀਕਾ ਹੈ VL53LX_TUNINGPARM_RESET_MERGE_THRESHOLD ਪੈਰਾਮੀਟਰ ਨੂੰ ਟਿਊਨ ਕਰਨਾ। ਪੂਰਵ-ਨਿਰਧਾਰਤ ਮੁੱਲ 15000 ਹੈ। ਲੇਟੈਂਸੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਇਸਨੂੰ ਘੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਅਧਿਕਤਮ ਰੇਂਜਿੰਗ ਦੂਰੀ ਪ੍ਰਭਾਵਿਤ ਹੋਵੇਗੀ।
ਜੇਕਰ ਉਪਭੋਗਤਾ ਮੁੱਲ ਵਧਾਉਂਦਾ ਹੈ, ਤਾਂ ਅਧਿਕਤਮ ਰੇਂਜਿੰਗ ਦੂਰੀ ਨੂੰ ਸੁਧਾਰਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਲੇਟੈਂਸੀ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦੀ ਹੈ।
ਕਵਰ ਕੱਚ ਦੇ ਧੱਬੇ ਦੀ ਖੋਜ
ਕ੍ਰਾਸਸਟਾਲ ਕਵਰ ਸ਼ੀਸ਼ੇ 'ਤੇ ਧੱਬੇ ਨਾਲ ਪ੍ਰਭਾਵਿਤ ਹੋ ਸਕਦਾ ਹੈ। VL53L3CX ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਏਮਬੇਡ ਕਰਦਾ ਹੈ ਜੋ ਫਲਾਈ 'ਤੇ ਧੱਬੇ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਇੱਕ ਨਵਾਂ ਕ੍ਰਾਸਸਟਾਲ ਸੁਧਾਰ ਮੁੱਲ ਲਾਗੂ ਕਰਨ ਦੇ ਯੋਗ ਹੁੰਦਾ ਹੈ। ਉਪਭੋਗਤਾ VL53LX_SmudgeCorrectionEnable() ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ/ਅਯੋਗ ਕਰ ਸਕਦਾ ਹੈ।
ਇਸ ਫੰਕਸ਼ਨ ਨਾਲ ਹੇਠਾਂ ਦਿੱਤੇ ਤਿੰਨ ਵਿਕਲਪ ਸੈੱਟ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ:
- VL53LX_SMUDGE_CORRECTION_NONE ਸੁਧਾਰ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਲਈ
- ਲਗਾਤਾਰ ਸੁਧਾਰ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ VL53LX_SMUDGE_CORRECTION_CONTINUOUS
- VL53LX_SMUDGE_CORRECTION_SINGLE ਇੱਕ ਸਟਾਰਟ ਕਮਾਂਡ ਪ੍ਰਾਪਤ ਹੋਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਿੰਗਲ ਸੁਧਾਰ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ।
ਹਰ ਰੇਂਜ 'ਤੇ ਧੱਬੇ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਚੱਲ ਰਿਹਾ ਹੈ। ਜੇ ਕੁਝ ਸ਼ਰਤਾਂ ਪੂਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ (80 ਸੈਂਟੀਮੀਟਰ ਤੋਂ ਘੱਟ ਕੋਈ ਵਸਤੂ ਨਹੀਂ, ਥ੍ਰੈਸ਼ਹੋਲਡ ਤੋਂ ਹੇਠਾਂ ਅੰਬੀਨਟ ਲਾਈਟ ਦਾ ਪੱਧਰ, ਅਤੇ 1kcps ਤੋਂ ਉੱਪਰ ਕ੍ਰਾਸਸਟਾਲਕ ਮੁੱਲ), ਇੱਕ ਨਵਾਂ ਕ੍ਰਾਸਸਟਾਲ ਮੁੱਲ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ।
ਜੇਕਰ ਧੱਬਾ ਸੁਧਾਰ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕ੍ਰਾਸਸਟਾਲ ਮੁੱਲ ਨੂੰ ਠੀਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਲੈਗ HasXtalkValueChanged ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਫਲੈਗ ਅਗਲੀ ਸੀਮਾ 'ਤੇ ਆਪਣੇ ਆਪ ਹੀ ਸਾਫ਼ ਹੋ ਜਾਂਦਾ ਹੈ।
ਨੋਟ: ਧੱਬਾ ਸੁਧਾਰ ਇਸ ਤੱਕ ਸੀਮਿਤ ਹੈ:
- ਛੋਟੀ ਦੂਰੀ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ 1.2 ਮੀ
- ਮੱਧਮ ਦੂਰੀ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ 1.7 ਮੀ
- ਲੰਬੀ ਦੂਰੀ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ 3.8 ਮੀ.
I2C ਪਤਾ
VL2L53CX ਦਾ ਡਿਫੌਲਟ I3C ਪਤਾ 0x52 ਹੈ। ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਇੱਕ ਵੱਖਰਾ I2C ਡਿਵਾਈਸ ਪਤਾ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਹ ਕੇਸ ਹੈ, ਸਾਬਕਾ ਲਈample, ਜਦੋਂ ਕਈ VL53L3CX ਹਿੱਸੇ ਇੱਕੋ I2C ਬੱਸ ਨੂੰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ।
ਗਾਹਕ ਨੂੰ ਹੇਠ ਲਿਖੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
- VL53L3CX ਨੂੰ ਮਾਊਟ ਕਰਨ ਵਾਲੇ ਬੋਰਡ ਨੂੰ ਧਿਆਨ ਨਾਲ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। Xshut ਅਤੇ GPIO1 (ਇੰਟਰਪਟ) ਪਿੰਨਾਂ ਨੂੰ ਹਰੇਕ VL53L3CX ਲਈ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਹੋਸਟ ਨੂੰ Xshut ਪਿੰਨ ਨੂੰ ਘੱਟ ਸੈੱਟ ਕਰਦੇ ਹੋਏ, ਸਾਰੇ VL53L3CX ਨੂੰ HW ਸਟੈਂਡਬਾਏ ਵਿੱਚ ਰੱਖਣਾ ਪੈਂਦਾ ਹੈ।
- ਹੋਸਟ VL1L53CX ਦੇ 3 ਦੇ Xshut ਪਿੰਨ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ
- ਹੋਸਟ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ VL53LX_SetDeviceAddress()
- ਹੋਸਟ ਬਾਅਦ ਦੇ ਤਿੰਨ ਪੁਆਇੰਟਾਂ ਨੂੰ ਦੁਹਰਾਉਂਦਾ ਹੈ ਕਿਉਂਕਿ ਸਾਰੇ VL53L3CX ਐਡਰੈੱਸ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕੀਤੇ ਗਏ ਹਨ।
ਸਾਬਕਾ ਲਈample, ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਕੇ: status = VL53LX_SetDeviceAddress(&VL53L3Dev, WantedAddress) WantedAddress ਦਾ ਮੁੱਲ ਨਵੇਂ I2C ਐਡਰੈੱਸ ਵਜੋਂ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ।
ਗਾਹਕ ਫੈਕਟਰੀ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ
ਡਿਵਾਈਸ ਦੀ ਪੂਰੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦਾ ਲਾਭ ਲੈਣ ਲਈ, VL53L3CX ਡਰਾਈਵਰ ਵਿੱਚ ਗਾਹਕ ਉਤਪਾਦਨ ਲਾਈਨ 'ਤੇ ਇੱਕ ਵਾਰ ਚਲਾਉਣ ਲਈ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਪਾਰਟ-ਟੂ-ਪਾਰਟ ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਪੂਰਤੀ ਲਈ ਚਲਾਉਣਾ ਪੈਂਦਾ ਹੈ ਜੋ ਡਿਵਾਈਸ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਹੋਸਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਨੂੰ ਇੱਕ ਸਮਰਪਿਤ ਡ੍ਰਾਈਵਰ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਹਰੇਕ ਸਟਾਰਟਅੱਪ 'ਤੇ VL53L3CX ਵਿੱਚ ਲੋਡ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਤਿੰਨ ਕੈਲੀਬ੍ਰੇਸ਼ਨਾਂ ਦੀ ਲੋੜ ਹੈ: refSPAD, crosstalk ਅਤੇ offset.
ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨਾਂ ਦੇ ਕ੍ਰਮ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਕਿਹਾ ਜਾਂਦਾ ਹੈ:
- refSPAD
- crosstalk
- ਆਫਸੈੱਟ
ਤਿੰਨ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ ਕ੍ਰਮਵਾਰ ਜਾਂ ਵਿਅਕਤੀਗਤ ਰੂਪ ਵਿੱਚ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਜਦੋਂ ਵਿਅਕਤੀਗਤ ਤੌਰ 'ਤੇ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪਿਛਲੇ ਪੜਾਅ ਦੇ ਡੇਟਾ ਨੂੰ ਲੋਡ ਕਰਨਾ ਹੁੰਦਾ ਹੈ।
RefSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ
ਸਿੰਗਲ ਫੋਟੌਨ ਐਵਲੈਂਚ ਡਾਇਓਡ (SPAD) ਦੀ ਸੰਖਿਆ ST 'ਤੇ ਅੰਤਿਮ ਮਾਡਿਊਲ ਟੈਸਟ ਦੌਰਾਨ ਕੈਲੀਬਰੇਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਪਾਰਟ-ਟੂ-ਪਾਰਟ ਮੁੱਲ NVM ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਬੂਟ ਦੌਰਾਨ ਡਿਵਾਈਸ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਲੋਡ ਹੋ ਜਾਂਦਾ ਹੈ।
ਇਹ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡਿਵਾਈਸ ਨੂੰ ਗਤੀਸ਼ੀਲ ਬਣਾਉਣ ਲਈ SPAD ਦੀ ਸੰਖਿਆ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਹਾਲਾਂਕਿ, ਮੋਡੀਊਲ ਦੇ ਸਿਖਰ 'ਤੇ ਇੱਕ ਕਵਰ ਗਲਾਸ ਜੋੜਨਾ ਇਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ। ST ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਗਾਹਕ ਅੰਤਿਮ ਉਤਪਾਦ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨੂੰ ਦੁਬਾਰਾ ਕਰੇ। ਜਦੋਂ ਇਹ ਫੰਕਸ਼ਨ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ FMT 'ਤੇ ਚੱਲ ਰਿਹਾ ਉਹੀ ਐਲਗੋਰਿਦਮ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ: ਐਲਗੋਰਿਦਮ ਤਿੰਨ ਸਥਾਨਾਂ ਦੁਆਰਾ ਖੋਜ ਕਰਦਾ ਹੈ: 1 (1x ਐਟੇਨਿਊਏਟਿਡ SPADs), 2 (5 x ਐਟੇਨਿਊਏਟਡ SPADs) ਅਤੇ 3 (10 x ਐਟੇਨਿਊਏਟਿਡ SPADs)। ਸਿਗਨਲ ਸੰਤ੍ਰਿਪਤਾ ਤੋਂ ਬਚਣ ਲਈ ਚੁਣੇ ਗਏ SPADs ਦੀ ਗਿਣਤੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
RefSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ
ਹੇਠਾਂ ਦਿੱਤਾ ਫੰਕਸ਼ਨ SPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਲਈ ਉਪਲਬਧ ਹੈ: VL53LX_PerformRefSpadManagement(VL53LX_DEV ਦੇਵ)
ਨੋਟ: ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਪਹਿਲਾਂ ਬੁਲਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਫੰਕਸ਼ਨ ਹੇਠ ਦਿੱਤੇ ਤਿੰਨ ਚੇਤਾਵਨੀ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਆਉਟਪੁੱਟ ਕਰ ਸਕਦਾ ਹੈ:
- VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPA S 5 ਤੋਂ ਘੱਟ ਵਧੀਆ SPAD ਉਪਲਬਧ ਹੈ, ਆਉਟਪੁੱਟ ਵੈਧ ਨਹੀਂ ਹੈ
- VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ਖੋਜ ਸੰਦਰਭ ਦਰ ਦੇ ਅੰਤ ਵਿੱਚ > 40.0 Mcps ਆਫਸੈੱਟ ਸਥਿਰਤਾ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
- VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ਖੋਜ ਸੰਦਰਭ ਦਰ < 10.0 Mcps ਦੇ ਅੰਤ ਵਿੱਚ। ਆਫਸੈੱਟ ਸਥਿਰਤਾ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
RefSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ
ਇਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਲਈ ਕੋਈ ਖਾਸ ਸ਼ਰਤਾਂ ਦੀ ਪਾਲਣਾ ਨਹੀਂ ਕਰਨੀ ਪੈਂਦੀ, ਸਿਵਾਏ ਇਸ ਤੋਂ ਇਲਾਵਾ ਕਿ ਡਿਵਾਈਸ ਦੇ ਸਿਖਰ 'ਤੇ ਕੋਈ ਨਿਸ਼ਾਨਾ ਨਹੀਂ ਰੱਖਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਇਸ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨੂੰ ਕਰਨ ਦਾ ਸਮਾਂ ਸਿਰਫ ਕੁਝ ਮਿਲੀਸਕਿੰਟ ਹੈ।
VL53LX_DataInit() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।
refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ
ਫੰਕਸ਼ਨ VL53LX_GetCalibrationData() ਸਾਰਾ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਵਾਪਸ ਕੀਤੇ ਢਾਂਚੇ VL53LX_CalibrationData_t ਵਿੱਚ VL53LX_customer_nvm_managed_t ਨਾਂ ਦਾ ਇੱਕ ਹੋਰ ਢਾਂਚਾ ਸ਼ਾਮਲ ਹੈ, ਜਿਸ ਵਿੱਚ ਅੱਠ refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪੈਰਾਮੀਟਰ ਹਨ:
- ref_spad_man__num_requested_ref_spads: ਇਹ ਮੁੱਲ 5 ਅਤੇ 44 ਦੇ ਵਿਚਕਾਰ ਹੈ। ਇਹ ਚੁਣੇ ਗਏ SPAD ਦੀ ਸੰਖਿਆ ਦਿੰਦਾ ਹੈ।
- ref_spad_man__ref_location: ਇਹ ਮੁੱਲ 1, 2 ਜਾਂ 3 ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਸੰਦਰਭ ਖੇਤਰ ਵਿੱਚ SPADs ਦਾ ਸਥਾਨ ਦਿੰਦਾ ਹੈ।
- ਛੇ ਵਾਧੂ ਪੈਰਾਮੀਟਰ ਚੁਣੇ ਗਏ ਸਥਾਨ ਲਈ ਸਹੀ ਸਪੈਡ ਨਕਸ਼ੇ ਦਿੰਦੇ ਹਨ:
- global_config__spad_enables_ref_0
- global_config__spad_enables_ref_1
- global_config__spad_enables_ref_2
- global_config__spad_enables_ref_3
- global_config__spad_enables_ref_4
- global_config__spad_enables_ref_5
refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡਾਟਾ ਸੈੱਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
ਹਰੇਕ ਸ਼ੁਰੂਆਤ 'ਤੇ, ਸ਼ੁਰੂਆਤੀ ਬੂਟ ਤੋਂ ਬਾਅਦ, VL53LX_DataInit() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, VL53LX_SetCalibrationData() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਾਹਕ ਫੀਲਡ ਐਪਲੀਕੇਸ਼ਨ refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਨੂੰ ਲੋਡ ਕਰ ਸਕਦੀ ਹੈ।
VL53LX_GetCalibrationData() 'ਤੇ ਕਾਲ ਕਰਕੇ ਪੂਰੇ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਢਾਂਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਸੈਕਸ਼ਨ 6.1.3 ਵਿੱਚ ਵਰਣਿਤ ਅੱਠ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸੋਧੋ refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨਾ ਅਤੇ VL53LX_SetCalibrationData() ਨੂੰ ਕਾਲ ਕਰੋ।
Crosstalk ਕੈਲੀਬ੍ਰੇਸ਼ਨ
Crosstalk (XTalk) ਨੂੰ ਵਾਪਸੀ ਐਰੇ 'ਤੇ ਪ੍ਰਾਪਤ ਸਿਗਨਲ ਦੀ ਮਾਤਰਾ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਕਿ ਸੁਹਜ ਕਾਰਨਾਂ ਕਰਕੇ ਮੋਡੀਊਲ ਦੇ ਸਿਖਰ 'ਤੇ ਜੋੜੀ ਗਈ ਸੁਰੱਖਿਆ ਵਿੰਡੋ (ਕਵਰ ਗਲਾਸ) ਦੇ ਅੰਦਰ VCSEL ਲਾਈਟ ਰਿਫਲਿਕਸ਼ਨ ਦੇ ਕਾਰਨ ਹੈ।
ਕਵਰ ਸ਼ੀਸ਼ੇ ਦੀ ਗੁਣਵੱਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਇਹ ਪਰਜੀਵੀ ਸਿਗਨਲ ਡਿਵਾਈਸ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ। VL53L3CX ਵਿੱਚ ਇੱਕ ਬਿਲਟ ਇਨ ਸੁਧਾਰ ਹੈ ਜੋ ਇਸ ਸਮੱਸਿਆ ਦੀ ਪੂਰਤੀ ਕਰਦਾ ਹੈ।
ਕਰਾਸਸਟਾਲਕ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਮੋਡੀਊਲ ਦੇ ਸਿਖਰ 'ਤੇ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਕਵਰ ਗਲਾਸ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਸੁਧਾਰ ਦੀ ਮਾਤਰਾ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਕ੍ਰਾਸਸਟਾਲਕ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੇ ਆਉਟਪੁੱਟ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਪੈਰਾਮੀਟਰ ਹੁੰਦੇ ਹਨ ਜੋ ਕ੍ਰਾਸਸਟਾਲਕ ਮਾਡਲ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਸੈਕਸ਼ਨ 6.2.3 ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕ੍ਰਾਸਸਟਾਲਕ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨਾ।
Crosstalk ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ
ਹੇਠਾਂ ਦਿੱਤਾ ਸਮਰਪਿਤ ਫੰਕਸ਼ਨ ਕ੍ਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਲਈ ਉਪਲਬਧ ਹੈ: VL53LX_PerformXTalkCalibration(&VL53L3Dev);
ਨੋਟ: ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਦੂਜੀ ਸਥਿਤੀ ਵਿੱਚ ਬੁਲਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, refSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਅਤੇ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ।
Crosstalk ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਵਿਧੀ
ਕਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਰਨ ਲਈ, ਇੱਕ ਟੀਚਾ ਡਿਵਾਈਸ ਤੋਂ 600mm ਦੀ ਦੂਰੀ 'ਤੇ ਰੱਖਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਕ੍ਰਾਸਸਟਾਲਕ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਇੱਕ ਹਨੇਰੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਕੋਈ IR ਯੋਗਦਾਨ ਨਹੀਂ ਹੁੰਦਾ। VL53LX_DataInit() ਅਤੇ VL53LX_PerformRefSpadManagement() ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਮਰਪਿਤ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਸਦੀ ਵਰਤੋਂ ਕਰਕੇ: VL53LX_PerformXTalkCalibration(&VL53L3Dev). ਜਦੋਂ ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕ੍ਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਕ੍ਰਾਸਸਟਾਲ ਸੁਧਾਰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਕ੍ਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ, ਹੋਰਾਂ ਦੇ ਨਾਲ, ਇੱਕ ਹਿਸਟੋਗ੍ਰਾਮ ਅਤੇ ਇੱਕ ਪੈਰਾਮੀਟਰ ਦੇ ਹੁੰਦੇ ਹਨ ਜਿਸਨੂੰ "ਪਲੇਨ ਆਫਸੈੱਟ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਪਲੇਨ ਆਫਸੈੱਟ ਲਾਗੂ ਕੀਤੇ ਗਏ ਸੁਧਾਰ ਦੀ ਮਾਤਰਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ ਹਿਸਟੋਗ੍ਰਾਮ ਹਰੇਕ ਬਿਨ 'ਤੇ ਸੁਧਾਰ ਦੀ ਮੁੜ ਵੰਡ ਹੈ। ਫੰਕਸ਼ਨ VL53LX_GetCalibrationData() ਸਾਰਾ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਵਾਪਸ ਕੀਤੇ ਢਾਂਚੇ VL53LX_CalibrationData_t ਵਿੱਚ ਹੋਰ ਬਣਤਰ ਸ਼ਾਮਲ ਹਨ। ਪਲੇਨ ਆਫਸੈੱਟ VL53LX_customer_nvm_managed_t ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ: algo_crosstalk_compensation_plane_offset_kcps ਇੱਕ ਸਥਿਰ ਬਿੰਦੂ 7.9 ਕੋਡ ਕੀਤਾ ਮੁੱਲ ਹੈ। ਅਸਲ ਸੰਖਿਆ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਨੂੰ 512 ਨਾਲ ਭਾਗ ਕਰਨਾ ਪਵੇਗਾ।
ਦੋ ਹੋਰ ਸੰਬੰਧਿਤ ਢਾਂਚੇ ਵਾਪਸ ਕੀਤੇ ਗਏ ਹਨ: VL53LX_xtalk_histogram_data_t ਅਤੇ algo__xtalk_cpo_HistoMerge_kcps। ਇਨ੍ਹਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।
ਕ੍ਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਸੈਟ ਕਰਨਾ
ਇੱਕ ਵਾਰ VL53LX_DataInit() ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਗਾਹਕ ਕ੍ਰਾਸਸਟਾਲਕ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਨੂੰ ਇਹ ਵਰਤ ਕੇ ਲੋਡ ਕਰ ਸਕਦਾ ਹੈ: VL53LX_SetCalibrationData()
VL53LX_GetCalibrationData() ਨੂੰ ਕਾਲ ਕਰਨਾ, ਪਿਛਲੇ ਭਾਗ ਵਿੱਚ ਵਰਣਿਤ ਮਾਪਦੰਡਾਂ ਨੂੰ ਸੋਧਣਾ, xtalk_histogram ਬਣਤਰ ਸ਼ਾਮਲ ਕਰਨਾ, ਅਤੇ VL53LX_SetCalibrationData() ਨੂੰ ਕਾਲ ਕਰਨਾ ਬਿਹਤਰ ਹੈ।
ਕਰਾਸਸਟਾਲ ਮੁਆਵਜ਼ੇ ਨੂੰ ਸਮਰੱਥ/ਅਯੋਗ ਕਰੋ
ਫੰਕਸ਼ਨ VL53LX_SetXTalkCompensationEnable() ਕ੍ਰਾਸਸਟਾਲਕ ਮੁਆਵਜ਼ੇ ਨੂੰ ਸਮਰੱਥ ਜਾਂ ਅਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
ਨੋਟ: Crosstalk ਮੁਆਵਜ਼ਾ ਮੂਲ ਰੂਪ ਵਿੱਚ ਅਯੋਗ ਹੈ। ਕ੍ਰਾਸਸਟਾਲ ਮੁਆਵਜ਼ੇ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ V53LX_SetXTalkCompensationEnable&VL53L3Dev, 1);
ਕ੍ਰਾਸਸਟਾਲ ਮੁਆਵਜ਼ੇ ਨੂੰ ਅਯੋਗ ਕਰਨ ਲਈ VL53LX_SetXTalkCompensationEnable&VL53L3Dev, 0);
ਨੋਟ: ਇਹ ਫੰਕਸ਼ਨ ਕੋਈ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਜਾਂ ਕ੍ਰਾਸਸਟਾਲ ਡਾਟਾ ਲੋਡਿੰਗ ਨਹੀਂ ਕਰਦਾ ਹੈ, ਇਹ ਸਿਰਫ ਮੁਆਵਜ਼ੇ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
ਨੋਟ: ਕੈਲੀਬ੍ਰੇਸ਼ਨ, ਜਾਂ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਫੰਕਸ਼ਨ ਦੀ ਲੋਡਿੰਗ, ਨੂੰ ਇਸ ਸਮਰੱਥ/ਅਯੋਗ ਫੰਕਸ਼ਨ ਤੋਂ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਬੁਲਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ (ਉਪਰੋਕਤ ਭਾਗ ਵੇਖੋ)।
ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ
ਗਾਹਕ ਬੋਰਡ 'ਤੇ ਡਿਵਾਈਸ ਨੂੰ ਸੋਲਡਰ ਕਰਨਾ ਜਾਂ ਕਵਰ ਗਲਾਸ ਜੋੜਨਾ ਰੇਂਜਿੰਗ ਦੂਰੀ ਵਿੱਚ ਇੱਕ ਆਫਸੈੱਟ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਪਾਰਟ-ਟੂ-ਪਾਰਟ ਆਫਸੈੱਟ ਨੂੰ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਮਾਪਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਵੀ dmax ਮੁੱਲ ਨੂੰ ਕੈਲੀਬਰੇਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਾਲੋਂ ਸਮਾਨ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਹਾਲਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ।
ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਆਫਸੈੱਟ ਕਰੋ
ਹੇਠਾਂ ਦਿੱਤੇ ਦੋ ਫੰਕਸ਼ਨ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਲਈ ਉਪਲਬਧ ਹਨ:
- VL53LX_PerformOffsetSimpleCalibration(Dev, CalDistanceMilliMeter)
- VL53LX_PerformOffsetPerVCSECalibration(Dev, CalDistanceMilliMeter)
ਫੰਕਸ਼ਨਾਂ ਦਾ ਆਰਗੂਮੈਂਟ ਮਿਲੀਮੀਟਰਾਂ ਵਿੱਚ ਟੀਚਾ ਦੂਰੀ ਹੈ। ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨੂੰ ਕਰਾਸਸਟਾਲ ਸੁਧਾਰ ਤੋਂ ਬਾਅਦ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
VL53LX_PerformOffsetPerVCSECalibration ਸਭ ਤੋਂ ਸਹੀ ਫੰਕਸ਼ਨ ਹੈ, ਪਰ ਇਹ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਰਨ ਵਿੱਚ ਜ਼ਿਆਦਾ ਸਮਾਂ ਲੈਂਦਾ ਹੈ (ਸਮਾਂ ਨੂੰ 3 ਨਾਲ ਗੁਣਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)।
ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ
ਗਾਹਕ ਕਿਸੇ ਵੀ ਦੂਰੀ 'ਤੇ ਰੱਖੇ ਗਏ ਕਿਸੇ ਵੀ ਚਾਰਟ ਪ੍ਰਤੀਬਿੰਬ ਦੀ ਚੋਣ ਕਰ ਸਕਦੇ ਹਨ (ਕਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੇ ਸਮਾਨ ਸੈੱਟਅੱਪ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ)। ਜਾਂਚ ਕਰਨ ਲਈ ਇਕੋ ਇਕ ਬਿੰਦੂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਚੁਣੇ ਗਏ ਸੈੱਟਅੱਪ ਨਾਲ ਸਿਗਨਲ ਦੀ ਦਰ 2 ਅਤੇ 80 MCps ਦੇ ਵਿਚਕਾਰ ਮਾਪੀ ਗਈ ਹੈ।
ਸਾਰਣੀ 3. ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਸੈੱਟਅੱਪ
| ਚਾਰਟ | ਦੂਰੀ | ਅੰਬੀਨਟ ਹਾਲਾਤ | ਸਿਗਨਲ ਦਰ |
| ਕੋਈ ਵੀ | ਕੋਈ ਵੀ | ਡਾਰਕ (ਕੋਈ IR ਯੋਗਦਾਨ ਨਹੀਂ) | 2MCps < ਸਿਗਨਲ ਦਰ <80Mcps |
ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਦੁਆਰਾ ਦੋ ਚੇਤਾਵਨੀ ਸੰਦੇਸ਼ ਵਾਪਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
- VL53LX_WARNING_OFFSET_CAL_INSUFFICIENT_MM1_SP DS ਸਿਗਨਲ ਬਹੁਤ ਘੱਟ ਹੈ, ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੀ ਸ਼ੁੱਧਤਾ ਘੱਟ ਸਕਦੀ ਹੈ।
- VL53LX_WARNING_OFFSET_CAL_PRE_RANGE_RATE_TOO_H GH ਸਿਗਨਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੈ। ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੀ ਸ਼ੁੱਧਤਾ ਘਟੀ ਜਾ ਸਕਦੀ ਹੈ।
ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ
ਫੰਕਸ਼ਨ VL53LX_GetCalibrationData() ਸਾਰਾ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਵਾਪਸ ਕੀਤੇ ਢਾਂਚੇ VL53LX_CalibrationData_t ਵਿੱਚ VL53LX_customer_nvm_managed_t ਨਾਮਕ ਇੱਕ ਹੋਰ ਢਾਂਚਾ ਸ਼ਾਮਲ ਹੈ ਜਿਸ ਵਿੱਚ ਤਿੰਨ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਸ਼ਾਮਲ ਹਨ:
- algo__part_to_part_range_offset_mm
- mm_config__inner_offset_mm
- mm_config__outer_offset_mm
ਡਿਵਾਈਸ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸਮੁੱਚਾ ਆਫਸੈੱਟ ਦੋ ਆਖਰੀ ਮੁੱਲਾਂ ਦੀ ਔਸਤ ਹੈ। ਜੇਕਰ ਇੱਕ perVCSECalibration ਦੀ ਚੋਣ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਫੰਕਸ਼ਨ ਦੇ ਆਉਟਪੁੱਟ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਡੇਟਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ:
- ਛੋਟਾ_a_offset_mm
- short_b_offset_mm
- ਮੱਧਮ_a_offset_mm
- ਮੱਧਮ_b_offset_mm
- long_a_offset_mm
- long_bb_offset_mm
ਚੁਣੇ ਗਏ ਦੂਰੀ ਮੋਡ (VCSEL ਪੀਰੀਅਡ) 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਇਹਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਆਫਸੈੱਟ ਆਪਣੇ ਆਪ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।
ਔਫਸੈੱਟ ਸੁਧਾਰ ਮੋਡ ਦੀ ਚੋਣ
ਔਫਸੈੱਟ ਸੁਧਾਰ ਮੋਡ VL53LX_SetOffsetCorrectionMode ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਦੋ ਵਿਕਲਪਾਂ ਨਾਲ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਨੋਟ: VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ਨੂੰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ VCSEL ਅਵਧੀ ਪ੍ਰਤੀ ਔਫਸੈੱਟ ਸ਼ੁੱਧਤਾ ਨੂੰ ਵਧਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਸਾਰਣੀ 4. ਔਫਸੈੱਟ ਸੁਧਾਰ ਵਿਕਲਪ
| ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਫੰਕਸ਼ਨ ਕਹਿੰਦੇ ਹਨ | ਵਰਤਣ ਲਈ ਸੁਧਾਰ ਮੋਡ ਵਿਕਲਪ |
| ਸਧਾਰਨ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਰੋ | VL53LX_OFFSETCORRECTIONMODE_STANDARD |
| PerformPerVCSELOoffset ਕੈਲੀਬ੍ਰੇਸ਼ਨ | VL53LX_OFFSETCORRECTIONMODE_PERVCSEL |
ਨੋਟ: ਜੇਕਰ ਸਿਰਫ਼ ਇੱਕ ਔਫ਼ਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਿਸਮ ਉਪਲਬਧ ਹੈ, ਤਾਂ ਔਫ਼ਸੈੱਟ ਸੁਧਾਰ ਮੋਡ ਨੂੰ ਸੰਬੰਧਿਤ ਵਿਕਲਪ 'ਤੇ ਸੈੱਟ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ। ਇਹ ਆਪਣੇ ਆਪ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਸੈੱਟ ਕਰਨਾ
VL53LX_DataInit() ਫੰਕਸ਼ਨ ਕਾਲ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, VL53LX_SetCalibrationData() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਾਹਕ ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ ਲੋਡ ਕਰ ਸਕਦਾ ਹੈ।
VL53LX_GetCalibrationData() ਨੂੰ ਕਾਲ ਕਰਨਾ, ਪਿਛਲੇ ਭਾਗਾਂ ਵਿੱਚ ਵਰਣਿਤ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸੋਧਣਾ, ਅਤੇ VL53LX_SetCalibrationData() ਨੂੰ ਕਾਲ ਕਰਨਾ ਬਿਹਤਰ ਹੈ।
ਗਾਹਕ ਮੁਰੰਮਤ ਦੁਕਾਨ ਕੈਲੀਬ੍ਰੇਸ਼ਨ
ਜੇਕਰ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਮੁੱਲ ਗੁੰਮ ਹੋ ਜਾਂਦੇ ਹਨ, ਮੁਰੰਮਤ ਦੀ ਦੁਕਾਨ ਵਿੱਚ ਕੰਪੋਨੈਂਟ ਤਬਦੀਲੀ ਕਾਰਨ, ਗਾਹਕ ਇੱਕ ਸਮਰਪਿਤ ਪ੍ਰਕਿਰਿਆ ਲਾਗੂ ਕਰ ਸਕਦਾ ਹੈ, ਜਿੱਥੇ ਕਿਸੇ ਖਾਸ ਸੈੱਟਅੱਪ (ਟੀਚੇ) ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।
ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਤਿੰਨ ਪੜਾਵਾਂ ਨਾਲ ਬਣੀ ਹੋਈ ਹੈ:
- RefSpad
- ਕਰਾਸਸਟਾਲ
- ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ
RefSpad ਅਤੇ Xtalk ਉਹੀ ਹਨ ਜਿਵੇਂ ਕਿ ਸੈਕਸ਼ਨ 6.1 RefSPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਅਤੇ ਸੈਕਸ਼ਨ 6.2 ਕਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਰਨ ਲਈ ਇੱਕ ਸਮਰਪਿਤ ਫੰਕਸ਼ਨ ਉਪਲਬਧ ਹੈ: VL53LX_PerformOffsetZeroDistanceCalibration।
ਕਵਰ ਗਲਾਸ ਨੂੰ ਛੂਹ ਕੇ ਡਿਵਾਈਸ ਦੇ ਸਾਹਮਣੇ ਇੱਕ ਟੀਚਾ ਸੈੱਟ ਕਰਨਾ ਹੁੰਦਾ ਹੈ। ਨਿਸ਼ਾਨਾ ਕਾਗਜ਼ ਦੀ ਇੱਕ ਸਧਾਰਨ ਸ਼ੀਟ ਹੋ ਸਕਦੀ ਹੈ (ਕਾਗਜ਼ ਦੇ ਪ੍ਰਤੀਬਿੰਬ ਦੀ ਕੋਈ ਖਾਸ ਲੋੜ ਨਹੀਂ)।
ਉਪਰੋਕਤ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਨਾ ਹੈ ਅਤੇ ਨਤੀਜੇ ਪਿਛਲੇ ਭਾਗਾਂ ਵਿੱਚ ਵਰਣਨ ਕੀਤੀ ਪ੍ਰਕਿਰਿਆ ਵਾਂਗ ਹੀ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਬੇਰ ਡਰਾਈਵਰ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ
ਜਦੋਂ ਕਿਸੇ ਡਰਾਈਵਰ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਇੱਕ ਡਰਾਈਵਰ ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਡਰਾਈਵਰ ਦੀਆਂ ਗਲਤੀਆਂ ਲਈ ਸੰਭਾਵਿਤ ਮੁੱਲਾਂ ਦਾ ਵਰਣਨ ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ। ਉਪਭੋਗਤਾ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਲਈ ਚੇਤਾਵਨੀਆਂ ਹਨ ਕਿ ਕੁਝ ਮਾਪਦੰਡ ਅਨੁਕੂਲਿਤ ਨਹੀਂ ਹਨ। ਹੋਸਟ ਲਈ ਚੇਤਾਵਨੀਆਂ ਬਲੌਕ ਨਹੀਂ ਕਰ ਰਹੀਆਂ ਹਨ।
ਸਾਰਣੀ 5. ਬੇਰ ਡਰਾਈਵਰ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਦਾ ਵੇਰਵਾ
| ਗਲਤੀ ਮੁੱਲ | API ਗਲਤੀ ਸਤਰ | ਘਟਨਾ |
| 0 | VL53LX_ERROR_NONE | ਕੋਈ ਗਲਤੀ ਨਹੀਂ |
| -1 | VL53LX_ERROR_CALIBRATION_WARNING | ਅਵੈਧ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਡੇਟਾ |
| -4 | VL53LX_ERROR_INVALID_PARAMS | ਅਵੈਧ ਪੈਰਾਮੀਟਰ ਇੱਕ ਫੰਕਸ਼ਨ ਵਿੱਚ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ |
| -5 | VL53LX_ERROR_NOT_SUPPORTED | ਬੇਨਤੀ ਕੀਤੇ ਪੈਰਾਮੀਟਰ ਪ੍ਰੋਗਰਾਮ ਕੀਤੇ ਸੰਰਚਨਾ ਵਿੱਚ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ |
| -6 | VL53LX_ERROR_RANGE_ERROR | ਰੁਕਾਵਟ ਸਥਿਤੀ ਗਲਤ ਹੈ |
| -7 | VL53LX_ERROR_TIME_OUT | ਸਮਾਂ ਸਮਾਪਤ ਹੋਣ ਕਾਰਨ ਰੇਂਜਿੰਗ ਅਧੂਰੀ ਹੈ |
| -8 | VL53LX_ERROR_MODE_NOT_SUPPORTED | ਬੇਨਤੀ ਕੀਤੀ ਮੋਡ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ |
| -10 | VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL | ਸਪਲਾਈ ਕੀਤਾ ਬਫਰ I2C ਸਮਰਥਨ ਨਾਲੋਂ ਵੱਡਾ ਹੈ |
| -13 | VL53LX_ERROR_CONTROL_INTERFACE | IO ਫੰਕਸ਼ਨ ਤੋਂ ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕੀਤੀ ਗਈ |
| -14 | VL53LX_ERROR_INVALID_COMMAND | ਹੁਕਮ ਅਵੈਧ ਹੈ |
| -16 | VL53LX_ERROR_REF_SPAD_INIT | ਹਵਾਲਾ SPAD ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਇੱਕ ਤਰੁੱਟੀ ਆਈ ਹੈ |
| -17 | VL53LX_ERROR_GPH_SYNC_CHECK_FAIL | ਡ੍ਰਾਈਵਰ ਡਿਵਾਈਸ ਨਾਲ ਸਿੰਕ ਤੋਂ ਬਾਹਰ ਹੈ। ਇੱਕ ਸਟਾਪ/ਸਟਾਰਟ ਜਾਂ ਰੀਬੂਟ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ |
| -18 | VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL | |
| -19 | VL53LX_ERROR_GPH_ID_CHECK_FAIL | |
| -20 | VL53LX_ERROR_ZONE_STREAM_COUNT_CHEC K_FAIL | |
| -21 | VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL | |
| -22 | VL53LX_ERROR_XTALK_EXTRACTION_FAIL | ਕੋਈ ਸਫਲ ਐਸamples ਨੂੰ ਪੂਰੀ ਐਰੇ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ sampਕਰਾਸਸਟਾਲ ਲੈ. ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਨਵਾਂ ਕ੍ਰਾਸਸਟਾਲ ਮੁੱਲ ਬਣਾਉਣ ਲਈ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ। ਫੰਕਸ਼ਨ ਬਾਹਰ ਆ ਜਾਵੇਗਾ ਅਤੇ ਮੌਜੂਦਾ ਕ੍ਰਾਸਸਟਾਲ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਛੱਡ ਦੇਵੇਗਾ |
| -23 | VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_L IMIT_FAIL | ਕ੍ਰਾਸਸਟਾਲ s ਦਾ ਔਸਤ ਸਿਗਮਾ ਅਨੁਮਾਨample ਹੈ > ਅਧਿਕਤਮ ਸੀਮਾ ਤੋਂ ਵੱਧ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਕ੍ਰਾਸਸਟਾਲ ਐਸample ਮਾਪ ਲਈ ਬਹੁਤ ਰੌਲਾ ਹੈ। ਫੰਕਸ਼ਨ ਬਾਹਰ ਆ ਜਾਵੇਗਾ ਅਤੇ ਮੌਜੂਦਾ ਕ੍ਰਾਸਸਟਾਲ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਛੱਡ ਦੇਵੇਗਾ |
| -24 | VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FA IL | ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਇੱਕ ਗਲਤੀ ਆਈ ਹੈ। ਚੈੱਕ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਮੁਤਾਬਕ ਹੈ। |
| -25 | VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENA BLED_FAIL | |
| -28 | VL53LX_WARNING_REF_SPAD_CHAR_NOT_EN OUGH_SPADS | ਚੇਤਾਵਨੀ: ਸਹੀ refSpadManagement ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਲੱਭੇ ਗਏ ਸਪੈਡਾਂ ਦੀ ਗਿਣਤੀ ਬਹੁਤ ਘੱਟ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਹੈ। |
| -29 | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_HIGH | ਚੇਤਾਵਨੀ: ਸਹੀ refSpadManagement ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਿਗਨਲ ਦਰ ਬਹੁਤ ਘੱਟ ਪਾਈ ਗਈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਹੈ। |
| -30 | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_LOW | ਚੇਤਾਵਨੀ: ਸਹੀ ਔਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਪੈਡਾਂ ਦੀ ਗਿਣਤੀ ਬਹੁਤ ਘੱਟ ਪਾਈ ਗਈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਹੈ। |
| -31 | VL53LX_WARNING_OFFSET_CAL_MISSING_SA MPLES | ਆਫਸੈੱਟ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਚੇਤਾਵਨੀ ਆਈ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਹੈ। |
| -32 | VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_ HIGH | |
| -33 | VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HI GH | |
| -34 | VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW | |
| -38 | VL53LX_WARNING_XTALK_MISSING_SAMPLES | ਕ੍ਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਚੇਤਾਵਨੀ ਆਈ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸੈੱਟਅੱਪ ST ਸਿਫ਼ਾਰਸ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਹੈ। |
| -41 | VL53LX_ERROR_NOT_IMPLEMENTED | ਕਹਿੰਦੇ ਫੰਕਸ਼ਨ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ |
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
| ਮਿਤੀ | ਸੰਸਕਰਣ | ਤਬਦੀਲੀਆਂ |
| 28-ਸਤੰਬਰ-2020 | 1 | ਸ਼ੁਰੂਆਤੀ ਰੀਲੀਜ਼ |
| 02-ਦਸੰਬਰ-2021 | 2 | ਕਰਾਸਸਟਾਲ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨਾ ਸੈਕਸ਼ਨ 6.2.3 ਵਿੱਚ ਵਾਪਸ ਕੀਤੇ ਢਾਂਚੇ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ |
| 03-ਜੂਨ-2022 | 3 | ਸੈਕਸ਼ਨ 3.1 ਬੇਅਰ ਡਰਾਈਵਰ: ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੇ ਸਬੰਧ ਵਿੱਚ ਇੱਕ ਨੋਟ ਜੋੜਿਆ ਗਿਆ ਸੈਕਸ਼ਨ 5.4 ਕਵਰ ਸ਼ੀਸ਼ੇ ਦੇ ਧੱਬੇ ਦੀ ਖੋਜ: ਧੱਬੇ ਨੂੰ ਠੀਕ ਕਰਨ ਦੇ ਸਬੰਧ ਵਿੱਚ ਇੱਕ ਨੋਟ ਜੋੜਿਆ ਗਿਆ |
ਜ਼ਰੂਰੀ ਸੂਚਨਾ – ਧਿਆਨ ਨਾਲ ਪੜ੍ਹੋ
STMicroelectronics NV ਅਤੇ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ("ST") ਬਿਨਾਂ ਨੋਟਿਸ ਦੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ST ਉਤਪਾਦਾਂ ਅਤੇ/ਜਾਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਤਬਦੀਲੀਆਂ, ਸੁਧਾਰਾਂ, ਸੁਧਾਰਾਂ, ਸੋਧਾਂ, ਅਤੇ ਸੁਧਾਰ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰਾਖਵਾਂ ਰੱਖਦੀਆਂ ਹਨ। ਖਰੀਦਦਾਰਾਂ ਨੂੰ ਆਰਡਰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ST ਉਤਪਾਦਾਂ ਬਾਰੇ ਨਵੀਨਤਮ ਸੰਬੰਧਿਤ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ST ਉਤਪਾਦ ਆਰਡਰ ਦੀ ਰਸੀਦ ਦੇ ਸਮੇਂ ST ਦੇ ਨਿਯਮਾਂ ਅਤੇ ਵਿਕਰੀ ਦੀਆਂ ਸ਼ਰਤਾਂ ਦੇ ਅਨੁਸਾਰ ਵੇਚੇ ਜਾਂਦੇ ਹਨ।
ਖਰੀਦਦਾਰ ST ਉਤਪਾਦਾਂ ਦੀ ਚੋਣ, ਚੋਣ ਅਤੇ ਵਰਤੋਂ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜ਼ਿੰਮੇਵਾਰ ਹੁੰਦੇ ਹਨ ਅਤੇ ST ਐਪਲੀਕੇਸ਼ਨ ਸਹਾਇਤਾ ਜਾਂ ਖਰੀਦਦਾਰਾਂ ਦੇ ਉਤਪਾਦਾਂ ਦੇ ਡਿਜ਼ਾਈਨ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਮੰਨਦੀ।
ਇੱਥੇ ST ਦੁਆਰਾ ਕਿਸੇ ਵੀ ਬੌਧਿਕ ਸੰਪੱਤੀ ਦੇ ਅਧਿਕਾਰ ਨੂੰ ਕੋਈ ਲਾਇਸੈਂਸ, ਐਕਸਪ੍ਰੈਸ ਜਾਂ ਅਪ੍ਰਤੱਖ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਇੱਥੇ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ ਤੋਂ ਵੱਖ ਪ੍ਰਬੰਧਾਂ ਵਾਲੇ ST ਉਤਪਾਦਾਂ ਦੀ ਮੁੜ ਵਿਕਰੀ ਐਸਟੀ ਦੁਆਰਾ ਅਜਿਹੇ ਉਤਪਾਦ ਲਈ ਦਿੱਤੀ ਗਈ ਕਿਸੇ ਵੀ ਵਾਰੰਟੀ ਨੂੰ ਰੱਦ ਕਰ ਦੇਵੇਗੀ। ST ਅਤੇ ST ਲੋਗੋ ST ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ST ਟ੍ਰੇਡਮਾਰਕ ਬਾਰੇ ਵਾਧੂ ਜਾਣਕਾਰੀ ਲਈ, ਵੇਖੋ www.st.com/trademarks. ਹੋਰ ਸਾਰੇ ਉਤਪਾਦ ਜਾਂ ਸੇਵਾ ਦੇ ਨਾਮ ਉਹਨਾਂ ਦੇ ਸਬੰਧਤ ਮਾਲਕਾਂ ਦੀ ਸੰਪਤੀ ਹਨ।
ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿਚਲੀ ਜਾਣਕਾਰੀ ਇਸ ਦਸਤਾਵੇਜ਼ ਦੇ ਕਿਸੇ ਵੀ ਪੁਰਾਣੇ ਸੰਸਕਰਣਾਂ ਵਿਚ ਪਹਿਲਾਂ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ ਨੂੰ ਬਦਲਦੀ ਹੈ ਅਤੇ ਬਦਲਦੀ ਹੈ। © 2022 STMicroelectronics – ਸਾਰੇ ਅਧਿਕਾਰ ਰਾਖਵੇਂ ਹਨ
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
ST VL53L3CX ਫਲਾਈਟ ਰੇਂਜਿੰਗ ਸੈਂਸਰ ਦਾ ਸਮਾਂ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ VL53L3CX ਫਲਾਈਟ ਰੇਂਜਿੰਗ ਸੈਂਸਰ ਦਾ ਸਮਾਂ, VL53L3CX, ਫਲਾਈਟ ਰੇਂਜਿੰਗ ਸੈਂਸਰ ਦਾ ਸਮਾਂ, ਫਲਾਈਟ ਰੇਂਜਿੰਗ ਸੈਂਸਰ, ਰੇਂਜਿੰਗ ਸੈਂਸਰ |




