format code (editorconfig and clang-format)

This commit is contained in:
Florian Zirker 2018-12-11 14:30:33 +01:00
parent 11c0cbbdb0
commit 1e3c68054f
4 changed files with 117 additions and 40 deletions

66
.clang-format Normal file
View file

@ -0,0 +1,66 @@
---
BasedOnStyle: Google
AccessModifierOffset: -2
ConstructorInitializerIndentWidth: 2
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: true
BinPackParameters: true
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DerivePointerBinding: false
PointerBindsToType: true
ExperimentalAutoDetectBinPacking: false
IndentCaseLabels: true
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 60
PenaltyBreakString: 1
PenaltyBreakFirstLessLess: 1000
PenaltyExcessCharacter: 1000
PenaltyReturnTypeOnItsOwnLine: 90
SpacesBeforeTrailingComments: 2
Cpp11BracedListStyle: false
Standard: Auto
IndentWidth: 3
TabWidth: 3
UseTab: Never
IndentFunctionDeclarationAfterType: false
SpacesInParentheses: true
SpacesInAngles: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
ContinuationIndentWidth: 4
SortIncludes: false
SpaceAfterCStyleCast: false
# Configure each individual brace in BraceWrapping
BreakBeforeBraces: Custom
# Control of individual brace wrapping cases
BraceWrapping: {
AfterClass: 'true'
AfterControlStatement: 'false'
AfterEnum : 'true'
AfterFunction : 'false'
AfterNamespace : 'true'
AfterStruct : 'true'
AfterUnion : 'true'
BeforeCatch : 'true'
BeforeElse : 'true'
IndentBraces : 'false'
}
...

11
.editorconfig Normal file
View file

@ -0,0 +1,11 @@
root = true
[*]
indent_style = space
indent_size = 3
tab_width = 3
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

19
.gitignore vendored
View file

@ -1,8 +1,11 @@
# Dateien in Doku: # # Dateien in Doku: #
doku/*.txt doku/*.txt
doku/*.aux doku/*.aux
doku/*.out doku/*.out
doku/*.pdf doku/*.pdf
doku/*.gz doku/*.gz
doku/*.toc doku/*.toc
doku/*.log doku/*.log
# Ignore Visual Studio Code folder
.vscode/

View file

@ -14,68 +14,65 @@ using namespace std;
using namespace ros; using namespace ros;
using namespace wlan_pioneer; using namespace wlan_pioneer;
int8_t getWlanSignalStrength( const string& interface ) {
int8_t getWlanSignalStrength(const string &interface) {
struct iw_statistics stats; struct iw_statistics stats;
struct iwreq req; struct iwreq req;
memset(&stats, 0, sizeof(stats)); memset( &stats, 0, sizeof( stats ) );
memset(&req, 0, sizeof(iwreq)); memset( &req, 0, sizeof( iwreq ) );
strncpy(req.ifr_name, interface.c_str(), 16); strncpy( req.ifr_name, interface.c_str(), 16 );
req.u.data.pointer = &stats; req.u.data.pointer = &stats;
req.u.data.length = sizeof(iw_statistics); req.u.data.length = sizeof( iw_statistics );
#ifdef CLEAR_UPDATED #ifdef CLEAR_UPDATED
req.u.data.flags = 1; req.u.data.flags = 1;
#endif #endif
int sockfd = socket(AF_INET, SOCK_DGRAM, 0); int sockfd = socket( AF_INET, SOCK_DGRAM, 0 );
if(sockfd == -1) { if ( sockfd == -1 ) {
ROS_ERROR("Could not create simple datagram socket"); ROS_ERROR( "Could not create simple datagram socket" );
return numeric_limits<int8_t>::min() ; return numeric_limits<int8_t>::min();
} }
if(ioctl(sockfd, SIOCGIWSTATS, &req) == -1) { if ( ioctl( sockfd, SIOCGIWSTATS, &req ) == -1 ) {
ROS_ERROR("Error retrieving WLAN signal strength "); ROS_ERROR( "Error retrieving WLAN signal strength " );
close(sockfd); close( sockfd );
return numeric_limits<int8_t>::min() ; return numeric_limits<int8_t>::min();
} }
close(sockfd); close( sockfd );
return stats.qual.level; return stats.qual.level;
} }
int main( int argc, char** argv ) {
int main(int argc, char **argv) { init( argc, argv, "wlanSignal" );
init(argc, argv, "wlanSignal");
NodeHandle node; NodeHandle node;
string wlanInterface2G4; string wlanInterface2G4;
string wlanInterface5G; string wlanInterface5G;
if (node.param<string>("wlan_interface_2G4", wlanInterface2G4, "wlan0")) { if ( node.param<string>( "wlan_interface_2G4", wlanInterface2G4, "wlan0" ) ) {
ROS_INFO("Param wlan_interface_2G4: %s", wlanInterface2G4.c_str()); ROS_INFO( "Param wlan_interface_2G4: %s", wlanInterface2G4.c_str() );
} }
else { else {
ROS_INFO("Param 'wlan_interface_2G4' not set. Using 'wlan0'"); ROS_INFO( "Param 'wlan_interface_2G4' not set. Using 'wlan0'" );
} }
if (node.param<string>("wlan_interface_5G", wlanInterface5G, "wlan0")) { if ( node.param<string>( "wlan_interface_5G", wlanInterface5G, "wlan0" ) ) {
ROS_INFO("Param wlan_interface_5G: %s", wlanInterface5G.c_str()); ROS_INFO( "Param wlan_interface_5G: %s", wlanInterface5G.c_str() );
} }
else { else {
ROS_INFO("Param 'wlan_interface_5G' not set. Using 'wlan0'"); ROS_INFO( "Param 'wlan_interface_5G' not set. Using 'wlan0'" );
} }
// topic: wlan_signal // topic: wlan_signal
Publisher publisher = node.advertise<WlanSignalMsg>("wlan_signal", 1000); Publisher publisher = node.advertise<WlanSignalMsg>( "wlan_signal", 1000 );
Rate loopRate(1); // every second Rate loopRate( 1 ); // every second
while (ok()) { while ( ok() ) {
WlanSignalMsg msg; WlanSignalMsg msg;
msg.timestamp = Time::now(); msg.timestamp = Time::now();
msg.level_2G4 = getWlanSignalStrength(wlanInterface2G4); msg.level_2G4 = getWlanSignalStrength( wlanInterface2G4 );
msg.level_5G = getWlanSignalStrength(wlanInterface5G); msg.level_5G = getWlanSignalStrength( wlanInterface5G );
ROS_INFO("Signal strength 2.4G: %i Signal strength 5G: %i", msg.level_2G4, msg.level_5G); ROS_INFO( "Signal strength 2.4G: %i Signal strength 5G: %i", msg.level_2G4, msg.level_5G );
publisher.publish(msg); publisher.publish( msg );
spinOnce(); spinOnce();
loopRate.sleep(); loopRate.sleep();
} }