/******************************************************************************
 *
 * Copyright 2017, Lattice Semiconductor, Inc. All rights reserved.
 * No part of this work may be reproduced, modified, distributed, transmitted,
 * transcribed, or translated into any language or computer format, in any form
 * or by any means without written permission of Lattice Semiconductor Inc.,
 * 111 SW 5th Ave, Suite 700, Portland, OR 97204.
 *
 *****************************************************************************/
/**
 * @file sii9777_user_def.h
 *
 * @brief logging library
 *
 *****************************************************************************/

#ifndef SII9777_USER_DEF_H
#define SII9777_USER_DEF_H

/*****************************************************************************/
/** All definitions below can be modified by user.
******************************************************************************/

/*****************************************************************************/
/**
* If defined with one then host driver relies on the following platform functions to be provided
* user application:
*     SiiPlatformSemaphoreCreate()
*     SiiPlatformSemaphoreDelete()
*     SiiPlatformSemaphoreGive()
*     SiiPlatformSemaphoreTake()
* In Multi-Thread mode each API function is allowed to be called preemptively.
* When defined zero the host driver will not call any of these platform functions.
* In non multi-thread mode user must make sure that non of the host driver API functions
* are called pre-emptively. 
*
******************************************************************************/
#define SII9777_USER_DEF__MULTI_THREAD     1

/*****************************************************************************/
/**
* If defined with zero then host driver writes Flash data provided through Sii9777FlashUpdate()
* directly to flash without cashing the data. The size indicated in Sii9777FlashUpdate() must be
* 256.
* For any value other than zero the host driver will allocate a memory buffer to store data before it is
* programmed in flash. In this mode the user can dynamcally change size of flash packet to any value
* between 0 and SII9777_USER_DEF__ISP_CASH_SIZE.
*
******************************************************************************/
#define SII9777_USER_DEF__ISP_CASH_SIZE    0

#endif /* SII9777_USER_DEF_H */

/***** end of file ***********************************************************/
