跳转至

lib/oled/oled.c

Functions

Name
void CFBD_OLED_ImmediateInit(CFBD_OLED * oled)
void CFBD_OLED_IICInit(CFBD_OLED * handle, CFBD_OLED_IICInitsParams * pvt_handle)
CFBD_Bool CFBD_GetOLEDHandle(CFBD_OLED * oled, const CFBD_OLEDDriverType driver_type, CFBDOLED_Params_Inits args, CFBD_Bool request_immediate_init)

Functions Documentation

function CFBD_OLED_ImmediateInit

static inline void CFBD_OLED_ImmediateInit(
    CFBD_OLED * oled
)

function CFBD_OLED_IICInit

void CFBD_OLED_IICInit(
    CFBD_OLED * handle,
    CFBD_OLED_IICInitsParams * pvt_handle
)

function CFBD_GetOLEDHandle

CFBD_Bool CFBD_GetOLEDHandle(
    CFBD_OLED * oled,
    const CFBD_OLEDDriverType driver_type,
    CFBDOLED_Params_Inits args,
    CFBD_Bool request_immediate_init
)

Source code

#include "oled.h"

#include <stddef.h>

#include "cfbd_define.h"
#include "configs/external_impl_driver.h"


static inline void CFBD_OLED_ImmediateInit(CFBD_OLED* oled)
{
    const CFBD_OLEDOperations* ops = oled->ops;
    ops->init(oled, NULL);
    ops->clear(oled);
    ops->update(oled);
}

extern void CFBD_OLED_IICInit(CFBD_OLED* handle, CFBD_OLED_IICInitsParams* pvt_handle);

CFBD_Bool CFBD_GetOLEDHandle(CFBD_OLED* oled,
                             const CFBD_OLEDDriverType driver_type,
                             CFBDOLED_Params_Inits args,
                             CFBD_Bool request_immediate_init)
{
    switch (driver_type) {
        case CFBD_OLEDDriverType_IIC:
            CFBD_OLED_IICInit(oled, args);
            break;
        default:
            return CFBD_FALSE;
            break;
    }

    if (request_immediate_init) {
        CFBD_OLED_ImmediateInit(oled);
    }

    return CFBD_TRUE;
}

Updated on 2026-02-03 at 13:21:55 +0000