react-native-obd-retriver
Version:
A React Native hook library to manage Bluetooth Low Energy connections and communication with ELM327 OBD-II adapters.
57 lines • 2.21 kB
TypeScript
import { BaseDTCRetriever, type RawDTCResponse } from './BaseDTCRetriever';
import type { ServiceMode } from './types';
import type { SendCommandFunction } from '../utils/types';
/**
* Specializes in retrieving pending/intermittent Diagnostic Trouble Codes
*
* The PendingDTCRetriever class uses OBD Service Mode 07 to retrieve pending DTCs
* from the vehicle's diagnostic system. These are codes for issues that have been
* detected but haven't yet triggered the Malfunction Indicator Light (MIL).
*
* Key features:
* - Retrieves pending/intermittent fault codes
* - Uses OBD service mode 07 (0x07)
* - Helps identify developing problems before they become active DTCs
* - Works across all OBD-II compliant vehicles that support Mode 07
* - Provides early diagnostic indications
*
* Pending DTCs are especially valuable for:
* - Preventative maintenance
* - Detecting intermittent issues
* - Verifying repairs before clearing active DTCs
* - Monitoring borderline component performance
*
* @example
* ```typescript
* // Create a retriever instance
* const pendingRetriever = new PendingDTCRetriever(sendCommand);
*
* // Retrieve and parse pending DTCs
* const dtcResponse = await pendingRetriever.retrieveRawDTCs();
*
* if (dtcResponse) {
* if (dtcResponse.troubleCodes && dtcResponse.troubleCodes.length > 0) {
* console.log(`Found ${dtcResponse.troubleCodes.length} pending DTCs:`);
* dtcResponse.troubleCodes.forEach(dtc => {
* console.log(`- ${dtc}`); // e.g., "P0456", "P0442"
* });
* } else {
* console.log("No pending DTCs found.");
* }
* } else {
* console.error("Failed to retrieve pending DTCs");
* }
* ```
*/
export declare class PendingDTCRetriever extends BaseDTCRetriever {
static SERVICE_MODE: ServiceMode;
constructor(sendCommand: SendCommandFunction);
/**
* Overrides retrieveRawDTCs to use the base class logic directly.
* The base class now handles configuration, command sending, retries,
* and response processing including NO DATA checks.
*/
retrieveRawDTCs(): Promise<RawDTCResponse | null>;
getServiceMode(): ServiceMode;
}
//# sourceMappingURL=PendingDTCRetriever.d.ts.map