Skip to content

imatary/App

Repository files navigation

README ATcommands

Basic Firmware which supported same AT commands of XBee modules and make it possible to control such modules via AT.


Supported Controller

  • ARM Cortex M0

Miscellaneous

  • created in [ Atmel Studio 7 ] 1
  • current build created for [ µracoli stack ] 2
  • based on IEEE 802.15.4 protocol
  • 0.5.x [ repository version ] 3

Structure

ATcommands/at_api_main.c (main file)

ATcommands/base/ap_exec.c
ATcommands/base/ap_frame.c
ATcommands/base/ap_local.c
ATcommands/base/ap_parser.c
ATcommands/base/ap_read.c
ATcommands/base/ap_trx.c
ATcommands/base/ap_write.c
ATcommands/base/at_exec.c
ATcommands/base/at_parser.c
ATcommands/base/at_read.c
ATcommands/base/at_write.c
ATcommands/base/attable.c
ATcommands/base/circularBuffer.c
ATcommands/base/helper.c
ATcommands/base/nvm_eeprom1.c
ATcommands/base/rfmodul.c
ATcommands/base/tp_trx.c

ATcommands/header/_global.h
ATcommands/header/ap_frames.h
ATcommands/header/at_commands.h
ATcommands/header/circularBuffer.h
ATcommands/header/cmd.h
ATcommands/header/defaultConfig.h
ATcommands/header/enum_cmd.h
ATcommands/header/enum_status.h
ATcommands/header/helper.h
ATcommands/header/rfmodul.h

ATuracoli/trx0.c
ATuracoli/uart0.c
ATuracoli/timer0.c
ATuracoli/stackrelated.h
ATuracoli/stackrelated_timer.h
ATuracoli/stackdefines.h

/README.md

Version Number

The AT command version number contains two version numbers at once.

  • the first part is the version number of the AT command API
  • the second part consists the firmware version on which the AT command API is based

Version 1.0.10EF (end of internship)

  • a bug which prevents to handle received frames was solved
  • the firmware version (ATVR) was changed to 0xde10
  • the hardware version (ATHV) was changed to 0x0
  • consequence: the module can be read by X-CTU Tool only with dresden elektronik add on (not included in GIT folder)
  • the UART baud rate works now correctly
  • the power level setting is now included
  • ATWR updates data only if it has been modified
  • several minor bugs are solved

Version 0.4.10EF

  • AT and API mode are running now with state machine parser
  • timer to enter and leave AT mode are equal to XBee implementation
  • add TX status API frames
  • add TX transmit API frames with 64-bit and 16-bit destination address
  • add missing RX receive API frames, except RX (Receive) Packet IO
  • adding support for broadcast messages
  • speed up writing process

Version 0.3.10EF

  • configurable in AT & AP mode (XCTU, HTerm)
  • configurable in AT mode PuTTY (other programs are not tested)
  • set PAN ID
  • set channel
  • set destination address (64-bit)
  • read own IEEE address 64-bit (ConBee)
  • set node identifier
  • write parameter to EEPROM
  • reset to default
  • set the Command Mode Timeout
  • stored the symbol to enter the AT command mode
  • sending of simple text messages (Point2Point)
  • current version support only a package size of 127 bytes, everything else get lost
  • sending of remote AT commands (Point2Point)
  • received text messages
  • received “API Frames” over air, except RX (Receive) Packets

H Files

  1. _global.h
  • declaration of global variable uint16_t dirtyBits
  • definitions of dirty bits status values
  • definition of prototype version string
  • type definition of enumerated bool values typedef enum bool_t
  • type definition of enumerated device modes typedef enum device_mode
  1. ap_frames.h
  • declaration of prototypes for API frame functions
  1. at_commands.h
  • declaration of prototypes for AT command functions
  1. circularBuffer.h
  • definition of buffer size
  • type definition of enumerated buffer types bufType_n
  • declaration of prototypes for buffer functions
  1. cmd.h
  • defines of read, write and execute actions
  • definition of typedef struct CMD
  • declaration of prototypes for finding commands in table
  1. defaultConfig.h
  • defines of standard values (XBee based)
  • if you add new XBee modules please add the standard values in this file
  1. enum_cmd.h
  • enumeration of all AT commands
  • if you want to add new AT commands, this file needs to be edited
  1. enum_status.h
  • enumeration of status and error messages
  1. helper.h
  • declaration of prototypes for validation functions
  1. rfmodul.h
  • type definition of structure RFmodul (stored all parameters of the module in flash memory)
  • declaration of prototypes for set and get functions
  • declaration of prototypes for reading from EEPROM and writing to the EEPROM
  1. stackrelated.h – Stack dependency
  • declaration of prototype pointer to UART functions
  • declaration of prototype pointer to transceiver functions
  • prototypes of basic TRX and UART functions
  1. stackdefines.h
  • renewed defines to make it easier to replace stack related defines
  1. stackrelated_timer.h
  • declaration of prototype pointer to Timer functions

C Files

  1. at_api_main.c –-- main file with main function
  • declaration and initialization of dirtyBits variable
  • reads values of EEPROM and store it into FLASH
  • configure the module for UART and transceiver operating
  • starting active waiting loop
  1. ap_exec.c
  • definition of execution function for API frames
  1. ap_frame.c
  • definition of API frame structure api_f
  • initialization of api_f frame
  • definition of API frame access functions for api_f structure
  1. ap_local.c
  • definition of API frame type values
  • definition of mac mode values
  • definition of UART API frame handle function
  • definition of local response messages
    - local device response API frame (for special DE commands)
    - local AT command response API frame
    - TX status API frame
    - RX receive package API frame - remote frame response API frame
  • definition of local remote frame handling
  1. ap_parser.c
  • definition of API frame parser with state machine
  1. ap_read.c
  • definition of read function for API frames
  1. ap_trx.c
  • definition for API transceiver frames
    - TX transmit frame with 16-bit and 64-bit destination address - remote frame - remote response frame
  1. ap_write.c
  • definition of write function for API frames
  1. at_exec.c
  • definition of execution function for AT commands
  1. at_parser.c
  • definition of API frame parser with state machine
  1. at_read.c
  • definition of read function for AT commands
  1. at_write.c
  • definition of write function for AT commands
  1. attable.c
  • definition of AT command table, including:
    - name (string)
    - ID
    - address at offset in api_f structure
    - read, write, execution options
    - maximum command size - total minimum and maximum values
    - set function pointer - validation function pointer
  • definition of 'find in table' functions
  • if you want to add new AT commands, this file needs to be edited
  1. circularBuffer.c
  • type definition of buffer structure deBuffer_t
  • definition and initialization of a buffer array
  • definition of buffer functions
  1. helper.c
  • definition validation functions
  1. nvm_eeprom1.c
  • set user and default values functions
  • get function
  • EEPROM crc function
  1. rfmodul.c
  • definition of get and set functions for RFmodul structure
  1. tp_trx.c
  • definition for printing received frames
  • definition to create a message frame for transceiver
  1. timer0.c
  • initialize timer pointer
  • definition of 'Millisecond'
  1. trx0.c
  • initialize of transceiver functions
  • handler for sending and receiving
  • functions to pack data packages
  1. uart.c
  • initialize of UART pointer functions
  • definition for printing status messages through UART

Links

created by http://dresden-elektronik.de/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published