Skip to content

Commit

Permalink
import my code things into Atmel stidio and merge it with board things
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-rabault committed Aug 3, 2016
1 parent 6e6c37b commit 0b10182
Show file tree
Hide file tree
Showing 219 changed files with 2,126 additions and 1,382 deletions.
Binary file added board_test/.vs/board_test/v14/.atsuo
Binary file not shown.
636 changes: 344 additions & 292 deletions board_test/board_test/Debug/Makefile

Large diffs are not rendered by default.

846 changes: 423 additions & 423 deletions board_test/board_test/Debug/board_test.srec

Large diffs are not rendered by default.

76 changes: 43 additions & 33 deletions board_test/board_test/Debug/makedep.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,71 +2,81 @@
# Automatically-generated file. Do not edit or delete the file
################################################################################

src\ASF\sam\drivers\adc\adc2.c
poppy_com\hal\ASF\common\services\clock\samg\sysclk.c

src\ASF\sam\drivers\matrix\matrix.c
poppy_com\hal\ASF\common\services\serial\usart_serial.c

src\ASF\sam\drivers\mem2mem\mem2mem.c
poppy_com\hal\ASF\common\services\sleepmgr\sam\sleepmgr.c

src\ASF\sam\drivers\pdc\pdc.c
poppy_com\hal\ASF\common\utils\interrupt\interrupt_sam_nvic.c

src\ASF\sam\drivers\rstc\rstc.c
poppy_com\hal\ASF\common\utils\stdio\read.c

src\ASF\sam\drivers\spi\spi.c
poppy_com\hal\ASF\common\utils\stdio\write.c

src\libs\button\button.c
poppy_com\hal\ASF\sam\boards\samg55_xplained_pro\board_init.c

src\libs\interfaces\ptp.c
poppy_com\hal\ASF\sam\drivers\adc\adc2.c

src\libs\interfaces\rs485.c
poppy_com\hal\ASF\sam\drivers\efc\efc.c

src\libs\led\led.c
poppy_com\hal\ASF\sam\drivers\flexcom\flexcom.c

src\libs\serial\uart.c
poppy_com\hal\ASF\sam\drivers\matrix\matrix.c

src\libs\system\debug.c
poppy_com\hal\ASF\sam\drivers\mem2mem\mem2mem.c

src\libs\system\system.c
poppy_com\hal\ASF\sam\drivers\pdc\pdc.c

src\libs\system\time.c
poppy_com\hal\ASF\sam\drivers\pio\pio.c

src\ASF\common\services\clock\samg\sysclk.c
poppy_com\hal\ASF\sam\drivers\pio\pio_handler.c

src\ASF\common\services\serial\usart_serial.c
poppy_com\hal\ASF\sam\drivers\pmc\pmc.c

src\ASF\common\services\sleepmgr\sam\sleepmgr.c
poppy_com\hal\ASF\sam\drivers\pmc\sleep.c

src\ASF\common\utils\interrupt\interrupt_sam_nvic.c
poppy_com\hal\ASF\sam\drivers\rstc\rstc.c

src\ASF\common\utils\stdio\read.c
poppy_com\hal\ASF\sam\drivers\spi\spi.c

src\ASF\common\utils\stdio\write.c
poppy_com\hal\ASF\sam\drivers\supc\supc.c

src\ASF\sam\boards\samg55_xplained_pro\board_init.c
poppy_com\hal\ASF\sam\drivers\tc\tc.c

src\ASF\sam\drivers\efc\efc.c
poppy_com\hal\ASF\sam\drivers\usart\usart.c

src\ASF\sam\drivers\flexcom\flexcom.c
poppy_com\hal\ASF\sam\utils\cmsis\samg\samg55\source\templates\gcc\startup_samg55.c

src\ASF\sam\drivers\pio\pio.c
poppy_com\hal\ASF\sam\utils\cmsis\samg\samg55\source\templates\system_samg55.c

src\ASF\sam\drivers\pio\pio_handler.c
poppy_com\hal\ASF\sam\utils\syscalls\gcc\syscalls.c

src\ASF\sam\drivers\pmc\pmc.c
poppy_com\hal\hal.c

src\ASF\sam\drivers\pmc\sleep.c
poppy_com\hal\libs\button\button.c

src\ASF\sam\drivers\supc\supc.c
poppy_com\hal\libs\interfaces\ptp.c

src\ASF\sam\drivers\tc\tc.c
poppy_com\hal\libs\interfaces\rs485.c

src\ASF\sam\drivers\usart\usart.c
poppy_com\hal\libs\led\led.c

src\ASF\sam\utils\cmsis\samg\samg55\source\templates\gcc\startup_samg55.c
poppy_com\hal\libs\serial\uart.c

src\ASF\sam\utils\cmsis\samg\samg55\source\templates\system_samg55.c
poppy_com\hal\libs\system\debug.c

src\ASF\sam\utils\syscalls\gcc\syscalls.c
poppy_com\hal\libs\system\system.c

poppy_com\hal\libs\system\time.c

poppy_com\src\poppyNetwork.c

poppy_com\src\reception.c

poppy_com\src\sys_msg.c

poppy_com\src\target.c

src\main.c

1,309 changes: 675 additions & 634 deletions board_test/board_test/board_test.cproj

Large diffs are not rendered by default.

File renamed without changes.
69 changes: 69 additions & 0 deletions board_test/board_test/poppy_com/hal/hal.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#include "hal.h"

#include "asf.h"
#include "stdio_serial.h"
#include "conf_board.h"
#include "conf_clock.h"
#include "uart.h"
#include "time.h"
#include "button.h"
#include "rs485.h"
#include "ptp.h"
#include "test_board.h"

#include "log.h"
#define LOG_TAG "Main"
#define LOG_LEVEL LOG_LEVEL_DEBUG


// Global variables
context_t ctx;

/**
* \fn void hal_init(void)
* \brief hardware configuration (clock, communication, DMA...)
*/
void hal_init(void) {
// init all things
sysclk_init();
board_init();

uart_stdio_init(CONSOLE_UART, 115200);

TEST_LOG_INFO(){
printf("\n\r\tFirmware Poppy-com built on %s at %s\n\r", __DATE__, __TIME__ );
}

if (SysTick_Config(sysclk_get_cpu_hz() / 1000)) {
LOG_ERROR("systic config failed");
while (1);
}

rs485_init();
ptp_init();

ptp_set_mode(ptp_a, PTP_MODE_RX);
ptp_set_mode(ptp_b, PTP_MODE_RX);
}

/**
* \fn unsigned char hal_transmit(unsigned char* data)
* \brief write a data byte
*
* \param data *data bytes to send
* \param size size of data to send in byte
*
* \return error
*/
unsigned char hal_transmit(unsigned char* data, unsigned short size) {
rs485_set_dir(HALF_DUPLEX_TX);
for (unsigned short i = 0; i < size; i++)
{
if (rs485_write((uint32_t) data[i]))
return 1;
delay_ms(1);
}
rs485_set_dir(HALF_DUPLEX_RX);
return 0;
}

21 changes: 21 additions & 0 deletions board_test/board_test/poppy_com/hal/hal.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#ifndef _HAL_H_
#define _HAL_H_

#include "context.h"

typedef enum {
// Send start condition
START,
// Send data with ACK enable
DATA,
// Send data with ACK disable
DATA_NACK,
// Send stop condition
STOP
}com_state_t;

void hal_init(void);

unsigned char hal_transmit(unsigned char* data, unsigned short size);

#endif /* _HAL_H_ */
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
18 changes: 18 additions & 0 deletions board_test/board_test/poppy_com/inc/cmd.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#ifndef _CMD_H_
#define _CMD_H_

/*
* All applicativ side message should have a structure like :
* ADDR - REGISTER - SIZE - DATA[512] - CHECKSUM
*/
typedef enum {
GET_ID, /*!< Reply with ID. */
WRITE_ID, /*!< Get and save a new given ID. */
GET_MODULE_TYPE, /*!< Reply with module_type number. */
GET_STATUS, /*!< Reply with a status register. */
GET_FIRM_REVISION, /*!< Reply with the actual firmware revision number. */
GET_COM_REVISION, /*!< Reply with the actual communication protocole version (1 default). */
PROTOCOL_CMD_NB /*!< This is the minimum cmd value available for applicative side. */
}cmd_t;

#endif /* _CONTEXT_H_ */
31 changes: 31 additions & 0 deletions board_test/board_test/poppy_com/inc/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* This file contain default configuration of the project.
*/

#ifndef _CONFIG_H_
#define _CONFIG_H_

#include "mod_list.h"

#define DEFAULTID 0x01
#define PROTOCOL_REVISION 1
#define BROADCAST_VAL 0x0FFF

#ifndef MODULETYPE
#define MODULETYPE DEV_BOARD
#endif

#ifndef MAINCLOCK
#define MAINCLOCK 16000000
#endif

#ifndef SCLFREQ
#define SCLFREQ 400000
#endif

#ifndef MAX_TRIES
#define MAX_TRIES 5
#endif


#endif /* _CONFIG_H_ */
43 changes: 43 additions & 0 deletions board_test/board_test/poppy_com/inc/context.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#ifndef _CONTEXT_H_
#define _CONTEXT_H_

#include "config.h"
#include "poppyNetwork.h"
#include "cmd.h"

#define TRUE 1
#define FALSE 0

typedef void (*DATA_CB) (volatile unsigned char *data);

typedef struct {
unsigned char rx_error : 1;
unsigned char unexpected_state : 1;
unsigned char warning : 1;
} status_t;


typedef struct {
// Callback pointers
DATA_CB data_cb; /*!< Data management callback. */
RX_CB rx_cb; /*!< User side slave RX callback. */

// Module infomations
unsigned short id; /*!< Module ID. */
unsigned char type; /*!< Module type. */
unsigned char alias[16];/*!< Module alias. */

// Variables
status_t status; /*!< Status. */
msg_t msg; /*!< Message. */

unsigned char max_multicast_target; /*!< Position pointer of the last multicast target. */
unsigned short multicast_target_bank[256]; /*!< multicast target bank. */

unsigned char max_virtual_target; /*!< Position pointer of the last virtual target. */
unsigned short virtual_target_bank[256]; /*!< virtual target bank. */
}context_t;

extern context_t ctx;

#endif /* _CONTEXT_H_ */
13 changes: 13 additions & 0 deletions board_test/board_test/poppy_com/inc/mod_list.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* This file list all available modules.
*/

#ifndef _MOD_LIST_H_
#define _MOD_LIST_H_

enum {
DEV_BOARD,
MOTOR_BOARD
};

#endif /* _MOD_LIST_H_ */
15 changes: 15 additions & 0 deletions board_test/board_test/poppy_com/inc/reception.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#ifndef _RECEPTION_H_
#define _RECEPTION_H_

#include "context.h"

unsigned short crc(unsigned char* data, unsigned short size);

// Callbacks
void get_header(volatile unsigned char *data);
void get_data(volatile unsigned char *data);
void catch_ack(volatile unsigned char *data);

void msg_complete(void);

#endif /* _RECEPTION_H_ */
13 changes: 13 additions & 0 deletions board_test/board_test/poppy_com/inc/sys_msg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef _SYS_MSG_H_
#define _SYS_MSG_H_

#include "context.h"

unsigned char set_extern_id(target_mode_t target_mode, unsigned short target,
unsigned short newid);
void send_ack(void);
// unsigned char get_extern_module_type(unsigned short addr, unsigned short *module_type);



#endif /* _SYS_MSG_H_ */
13 changes: 13 additions & 0 deletions board_test/board_test/poppy_com/inc/target.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef _TARGET_H_
#define _TARGET_H_

#include "context.h"

unsigned char multicast_target_bank(unsigned short val);
void add_multicast_target(unsigned short target);

unsigned char virtual_target_bank(unsigned short val);
void add_virtual_target(unsigned short target);


#endif /* _TARGET_H_ */
Loading

0 comments on commit 0b10182

Please sign in to comment.