Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/bat-45 #2

Open
wants to merge 32 commits into
base: develop
Choose a base branch
from
Open

feature/bat-45 #2

wants to merge 32 commits into from

Conversation

bgrindy
Copy link
Member

@bgrindy bgrindy commented Oct 6, 2015

Please provide any feedback as I am just getting back into the C++ world and learning of C++11 features/paradigms

Ben Grindy added 22 commits October 6, 2015 09:28
- add git submodule rapidjson, stub-in build section of readme
- move rapidjson submodule to thirdparty/ to avoid confusion with include/
- added thirdparty/build.sh as hack to setup dependencies before running autotools
- updated gitignore to include outstation app
- update gitignore to include outstation app
- implemented JSONCommandHandler that currently only prints out JSON representation of DNP3 commands
- added analog output test function in master demo and code-formatted

Conflicts:
	Makefile.am
	thirdparty/rapidjson
- add eclipse cdt project and update git ignore with eclipse entries
- convert from demo outstation to new outstation app, add TODOs for implementation
- syntax highlight on readme build steps
- add TCP server implementation, still needs major work to integrate with JSONCommandHandler
- addded TCPSession.cpp changes, cleaning out debug info
- preparing for some pub/sub action, not currently stable at all
- update docs with ubuntu build setup
- half-baked threads, needs fixing
- add stop/start actions on app
- pass asynchandler to json tcp server correctly
- AsyncCommand refers to pointers to allow multiple types being set
(NULL otherwise)
- AsyncCommandHandler queues commands using blocking queue w/ one
subscriber supported
- OutstationJSONTCPServer tracks multiple sessions and publishes
AsyncCommands to all
- JSONTCPSession writes AsyncCommands received to stdout, needs to write
to socket_
- lock/thread/queue updated to C++11 std implementations
- update JSON processing to send size before json char array for supporting multiple objects on same session
- sending AsyncCommands to sockets is nearly complete, started working on receiving JSON commands and converting to MeasUpdate
- add logging messages to figure out deserialization protocol
- remove newline from ao16_test.bin
- fix up char[] buffering logic for read()
- NEEDS proper JSON->MeasUpdate parsing
- clean up read() and applyUpdate()
- added better test file with multiple updates in same tcp buffer (also tested changing buffer lower than message size)
- add proper session tracking by determining if JSONTCPSocket is active
- update inline docs
- added outstation app tests
- created git submodule for asio includes
- created outstation app build directives for cmake
- fixed up compiler warnings for outstation app
- better pointer handling in outstation app
-
- add gitignore for outstation app
- fix master demo merge issue
- clean up debugging code in asyncommand/handler
- remove old build hack
- update README.md with build instructions
- add yaml-cpp submodule for config support
@@ -34,8 +34,7 @@ using namespace asiopal;
using namespace asiodnp3;
using namespace opendnp3;

int main(int argc, char* argv[])
{
int main(int argc, char* argv[]) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a bunch of these code-style changes here, are they legit? Does the parent project have a style guide?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a code formatting command here, although it touches a bunch of files already in the repository too. I'll run it on the shared code so at least that part will be formatted correctly.
https://github.com/automatak/dnp3-guide/blob/master/mkdoc/docs/contributing/tasks.md

Ben Grindy added 5 commits October 6, 2015 14:32
- astyle master main.cpp
- first crack at yaml config for outstation app
- include yaml-cpp in cmake build and link test app
- add basic yaml test case
- add program_options for outstation app usage
- first pass at yaml outstation config support, currently only used to
determine number of analogs,counters, etc.
- added local/remote outstation address yaml conf options
- add OutstationAppConfig class for managing yaml configuration (still
needs some work)
- prepare for multiple outstation support
Ben Grindy added 4 commits October 12, 2015 14:46
- fix up sample with demostation id
- add AsyncCommandQueue that is used by all instances of
AsyncCommandHandlers for sending commands to the OutstationJSONTCPServer
(publish/subscribe), attempted boost:signals2 but ran into issues (turns
out they were not related to signals2 - so it may be worth revisiting)
- add AsyncCommand "id" support for handling multiple outstations
- add all known enum mappings the hard way
- shutdown DNP3Manager cleanly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants