mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-03 13:28:44 +00:00
Add PIC32/Harmony http_server example
PUBLISHED_FROM=c393396605d5418fda4ff386170bb9a6d6658a93
This commit is contained in:
1 parent
2ef6f7248d
commit
f5a2857620
32 files changed
+9933
No files matched your search
@@ -0,0 +1,213 @@
|
||||
/* clang-format off */
|
||||
/*******************************************************************************
|
||||
MPLAB Harmony Application Header File
|
||||
|
||||
Company:
|
||||
Microchip Technology Inc.
|
||||
|
||||
File Name:
|
||||
app.h
|
||||
|
||||
Summary:
|
||||
This header file provides prototypes and definitions for the application.
|
||||
|
||||
Description:
|
||||
This header file provides function prototypes and data type definitions for
|
||||
the application. Some of these are required by the system (such as the
|
||||
"APP_Initialize" and "APP_Tasks" prototypes) and some of them are only used
|
||||
internally by the application (such as the "APP_STATES" definition). Both
|
||||
are defined here for convenience.
|
||||
*******************************************************************************/
|
||||
|
||||
//DOM-IGNORE-BEGIN
|
||||
/*******************************************************************************
|
||||
Copyright (c) 2013-2014 released Microchip Technology Inc. All rights reserved.
|
||||
|
||||
Microchip licenses to you the right to use, modify, copy and distribute
|
||||
Software only when embedded on a Microchip microcontroller or digital signal
|
||||
controller that is integrated into your product or third party product
|
||||
(pursuant to the sublicense terms in the accompanying license agreement).
|
||||
|
||||
You should refer to the license agreement accompanying this Software for
|
||||
additional information regarding your rights and obligations.
|
||||
|
||||
SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
||||
MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
|
||||
CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
|
||||
OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
||||
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
|
||||
CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
|
||||
SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
||||
*******************************************************************************/
|
||||
//DOM-IGNORE-END
|
||||
|
||||
#ifndef _APP_H
|
||||
#define _APP_H
|
||||
|
||||
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
// Section: Included Files
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include "system_config.h"
|
||||
#include "system_definitions.h"
|
||||
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
// Section: Type Definitions
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
|
||||
// *****************************************************************************
|
||||
/* Application States
|
||||
|
||||
Summary:
|
||||
Application states enumeration
|
||||
|
||||
Description:
|
||||
This enumeration defines the valid application states. These states
|
||||
determine the behavior of the application at various times.
|
||||
*/
|
||||
|
||||
typedef enum
|
||||
{
|
||||
/* Application's state machine's initial state. */
|
||||
APP_STATE_INIT=0,
|
||||
|
||||
APP_TCPIP_WAIT_FOR_IP,
|
||||
|
||||
APP_START_LISTENING,
|
||||
|
||||
APP_DONE,
|
||||
|
||||
APP_EMPTY,
|
||||
|
||||
APP_POLL
|
||||
} APP_STATES;
|
||||
|
||||
|
||||
// *****************************************************************************
|
||||
/* Application Data
|
||||
|
||||
Summary:
|
||||
Holds application data
|
||||
|
||||
Description:
|
||||
This structure holds the application's data.
|
||||
|
||||
Remarks:
|
||||
Application strings and buffers are be defined outside this structure.
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* The application's current state */
|
||||
APP_STATES state;
|
||||
|
||||
/* TODO: Define any additional data used by the application. */
|
||||
TCP_SOCKET socket;
|
||||
|
||||
char * host;
|
||||
|
||||
char * path;
|
||||
uint16_t port;
|
||||
|
||||
} APP_DATA;
|
||||
|
||||
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
// Section: Application Callback Routines
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
/* These routines are called by drivers when certain events occur.
|
||||
*/
|
||||
|
||||
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
// Section: Application Initialization and State Machine Functions
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
|
||||
/*******************************************************************************
|
||||
Function:
|
||||
void APP_Initialize ( void )
|
||||
|
||||
Summary:
|
||||
MPLAB Harmony application initialization routine.
|
||||
|
||||
Description:
|
||||
This function initializes the Harmony application. It places the
|
||||
application in its initial state and prepares it to run so that its
|
||||
APP_Tasks function can be called.
|
||||
|
||||
Precondition:
|
||||
All other system initialization routines should be called before calling
|
||||
this routine (in "SYS_Initialize").
|
||||
|
||||
Parameters:
|
||||
None.
|
||||
|
||||
Returns:
|
||||
None.
|
||||
|
||||
Example:
|
||||
<code>
|
||||
APP_Initialize();
|
||||
</code>
|
||||
|
||||
Remarks:
|
||||
This routine must be called from the SYS_Initialize function.
|
||||
*/
|
||||
|
||||
void APP_Initialize ( void );
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Function:
|
||||
void APP_Tasks ( void )
|
||||
|
||||
Summary:
|
||||
MPLAB Harmony Demo application tasks function
|
||||
|
||||
Description:
|
||||
This routine is the Harmony Demo application's tasks function. It
|
||||
defines the application's state machine and core logic.
|
||||
|
||||
Precondition:
|
||||
The system and application initialization ("SYS_Initialize") should be
|
||||
called before calling this.
|
||||
|
||||
Parameters:
|
||||
None.
|
||||
|
||||
Returns:
|
||||
None.
|
||||
|
||||
Example:
|
||||
<code>
|
||||
APP_Tasks();
|
||||
</code>
|
||||
|
||||
Remarks:
|
||||
This routine must be called from SYS_Tasks() routine.
|
||||
*/
|
||||
|
||||
void APP_Tasks ( void );
|
||||
|
||||
|
||||
#endif /* _APP_H */
|
||||
/*******************************************************************************
|
||||
End of File
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user