Add symbolic CAN message constants

This commit is contained in:
Gregor Riepl 2021-01-19 19:30:35 +01:00
parent 3791dfa777
commit 677150f09b
5 changed files with 55 additions and 4 deletions

View file

@ -1,5 +1,6 @@
PRG = feedback
AVRCANLIB_PATH = ../../avr-can-lib
PROJ_ROOT = ../..
AVRCANLIB_PATH = $(PROJ_ROOT)/avr-can-lib
OBJ = main.o \
$(AVRCANLIB_PATH)/src/at90can_buffer.o \
$(AVRCANLIB_PATH)/src/at90can.o \
@ -21,7 +22,7 @@ PROGRAMMER = usbtiny
MCU_TARGET = atmega32m1
DEFS = -DF_CPU=16000000UL -DHAS_CAN_CONFIG_H
INCLUDES = -I. -I$(AVRCANLIB_PATH)
INCLUDES = -I. -I$(PROJ_ROOT) -I$(AVRCANLIB_PATH)
LIBS =
LFUSE = 0xdf

View file

@ -3,6 +3,7 @@
#include <avr/interrupt.h>
#include <util/delay.h>
#include <can.h>
#include <messages.h>
static bool report_change = false;
static uint16_t saved_status;

47
messages.h Normal file
View file

@ -0,0 +1,47 @@
#ifndef _MESSAGES_H
#define _MESSAGES_H
#include <stdint.h>
#define CAN_HOSTID_FEEDBACK 0x000
#define CAN_HOSTID_POWER 0x001
#define CAN_HOSTID_BROADCAST 0x00f
#define CAN_HOSTID_MASK 0x00f
#define CAN_MSG_FEEDBACK_STATUS 0x010
typedef struct {
uint8_t empty_g:1;
uint8_t empty_h:1;
uint8_t reset_sw:1;
uint8_t pad:5;
uint8_t end_d:1;
uint8_t end_e:1;
uint8_t end_f:1;
uint8_t end_g:1;
uint8_t end_h:1;
uint8_t empty_d:1;
uint8_t empty_e:1;
uint8_t empty_f:1;
} can_msg_feedback_status_t;
#define CAN_MSG_POWER_STATUS 0x011
typedef struct {
uint8_t statush;
uint8_t statusl;
} can_msg_power_status_t;
#define CAN_MSG_POWER_DISPENSE 0x021
typedef uint8_t can_msg_power_dispense_t;
#define CAN_MSG_POWER_DISPENSE_OFF 0x00
#define CAN_MSG_POWER_DISPENSE_SLOT1 0x01
#define CAN_MSG_POWER_DISPENSE_SLOT2 0x02
#define CAN_MSG_POWER_DISPENSE_SLOT3 0x03
#define CAN_MSG_POWER_DISPENSE_SLOT4 0x04
#define CAN_MSG_POWER_DISPENSE_SLOT5 0x05
#define CAN_MSG_AUTO_STATUS 0x04f
typedef uint8_t can_msg_auto_status_t;
#define CAN_MSG_AUTO_STATUS_DISABLE 0x00
#define CAN_MSG_AUTO_STATUS_ENABLE 0x01
#endif

View file

@ -1,5 +1,6 @@
PRG = poweriface
AVRCANLIB_PATH = ../../avr-can-lib
PROJ_ROOT = ../..
AVRCANLIB_PATH = $(PROJ_ROOT)/avr-can-lib
OBJ = main.o \
$(AVRCANLIB_PATH)/src/at90can_buffer.o \
$(AVRCANLIB_PATH)/src/at90can.o \
@ -21,7 +22,7 @@ PROGRAMMER = usbtiny
MCU_TARGET = atmega32m1
DEFS = -DF_CPU=16000000UL -DHAS_CAN_CONFIG_H
INCLUDES = -I. -I$(AVRCANLIB_PATH)
INCLUDES = -I. -I$(PROJ_ROOT) -I$(AVRCANLIB_PATH)
LIBS =
LFUSE = 0xdf

View file

@ -4,6 +4,7 @@
#include <avr/interrupt.h>
#include <util/delay.h>
#include <can.h>
#include <messages.h>
static bool report_change = false;